BettikDocsSign in

Reference · the tools · workspaces

add_workspace

Asks first

Add a workspace

What it does

Add a workspace to this box: another workbench beside main, with its own container, home, limits and sign-in -- a second Claude account, or Codex. It sees every environment on the box, and the other workspaces' homes read-only. To cover its credentials in their view, main is restarted once, ending every session running there -- the one calling this, if it runs there -- and the sessions in other workspaces may be restarted too. Those running are told first and woken about six minutes later. The next step is signing it in: sign_in_claude with this workspace. Above 75% memory it asks first, as install_environment does. Ask the owner first, with confirm: true only once they have said yes.

What it needs to know

name
Its name: 1 to 20 lowercase letters, digits and hyphens, starting with a letter ("work"). Shown as <name>.wksp.<box> in the Claude app; ssh in as wksp-<name>. Not "main".
agent · optional
What signs in there. Default claude. Codex is coming soon and is refused for now. One of claude, codex.
cpus · optional
Its own CPU limit (2, or 1.5). Default the box's workbench limit.
memory · optional
Its own memory limit, as Docker takes it ("8g", "512m"). Default the box's workbench limit.
claude_from · optional
Where its ~/.claude (Claude settings, skills, CLAUDE.md) starts from. blank (the default): an empty ~/.claude, no repository; it can be connected later. repo: claude_repo on claude_branch -- a branch another workspace on this box already uses is refused; ask for another. main: the repository main's ~/.claude is synced to, on a new branch named after this workspace, made from main's branch as GitHub has it now; it syncs to its own branch from then on, never main's. One of blank, repo, main.
claude_repo · optional
With claude_from repo: the repository, an https:// URL ("https://github.com/you/claude").
claude_branch · optional
With claude_from repo: which branch of it.
confirm · optional
Actually add it, and go ahead although the box is above 75% memory. Without this, only say what it would do.
box · optional
Which box: its name and account, "home.frank" or "jordan.northwind", or just "home" when only one of your boxes is called that. Omit it for your current box (switch_box changes it; list_boxes says which it is).
session_box · optional
The box this session runs on, if it runs on one of yours: its name, as the on-box instructions give it ("frankh90.hemlane"). With it, a call that names no box is checked against your current box.

Where it lands

On one of your boxes: the one named in box, or your default box when none is named. It removes something, so Claude confirms with you before calling it.