Workspaces & limits

A workspace is the tenant boundary. Skills, secrets, artifacts, memory, agents and activity all belong to exactly one workspace, and an API key is scoped to one — agents cannot reach across workspaces.

How many workspaces you can be in

Your plan sets how many workspaces you may belong to. This counts every workspace you are a member of, whether you created it or were invited into it.

PlanWorkspaces
BYOK Mode1
PAYG Mode5
Based Mode10
Deployed ModeUnlimited

Two consequences worth knowing before you hit them:

  • You get one workspace when you sign up. It is created for you, and it counts toward your limit. A BYOK account is therefore at its limit immediately.
  • Invitations are checked against the invitee’s plan, not the inviter’s. If someone invites you to their workspace and you are already at your limit, the invitation is refused — even if they are on a paid plan. Joining a workspace is a paid feature, so BYOK is a single-workspace tier. Upgrade to accept.

Being in more workspaces does not give you more compute. Concurrency is per-user: you hold at most one running execution at a time regardless of how many workspaces you belong to.

How many members a workspace can have

A workspace holds up to 100 members. This is a property of the workspace, not of any one member’s plan, so when it is full the fix belongs to the workspace owner — upgrading your own plan will not let you in.

Execution concurrency

Three limits apply to every run, in this order:

LimitScopeDefault
One running executionPer user1
Workspace share of the fleetPer workspace10 concurrent sandboxes
Fleet capacityWhole platform100 concurrent sandboxes

The per-workspace share exists so no single tenant can starve the others. A workspace only approaches it when roughly ten of its members are running something at the same time, because each user holds at most one run.

If your team needs more than a share of a shared fleet, that is Deployed Mode, where the fleet is your own and you set the concurrency yourself.

If you downgrade or cancel

Limits are checked when you create or join a workspace, so downgrading does not remove you from anything. If you were in ten workspaces on Based Mode and drop to BYOK, you keep access to all ten — nothing is deleted and nothing is revoked.

What changes is headroom: you cannot create or join another until you are back under your plan’s limit. GET /api/v1/workspaces/usage reports this as overLimit:

{ "used": 10, "limit": 1, "mode": "byokmode", "canCreate": false, "overLimit": 9 }

Two ways back under, and both stay open — resubscribe, or leave workspaces you no longer need. The platform will not choose for you, because it cannot know which of your workspaces matters.

When you hit a limit

Every refusal is an HTTP 403 with a machine-readable code in error.details.reason:

ReasonMeaningWho can fix it
WORKSPACE_LIMITYou are in as many workspaces as your plan allowsYou — upgrade
MEMBER_LIMITThe workspace has reached 100 membersThe workspace owner
{
  "error": {
    "code": "FORBIDDEN",
    "message": "Your plan (BYOK MODE) allows 1 workspace and you are already in 1. Upgrade your plan to join this workspace.",
    "details": { "reason": "WORKSPACE_LIMIT" }
  }
}

Branch on details.reason, never on the message text — the wording may change or be translated.

Checking your usage before you act

GET /api/v1/workspaces/usage returns your current position so a client can show the limit rather than discover it on a failed write:

{ "used": 1, "limit": 1, "mode": "byokmode", "canCreate": false }

limit: 0 means uncapped (Deployed Mode).