Conductor
Sandbox Conductor workspaces with the committed project layer, or run each agent inside the sandbox.
Conductor runs each agent's real binary in an ordinary git worktree. First, make sure Conductor
can find boxer (PATH for GUI apps).
Try the project layer first
It is not yet tested whether Conductor's sessions load project hooks. If they do,
the committed boxer install claude-code is all you need. To check, create a workspace, ask the agent to run node -p process.platform, and run
boxer ls. If it printed linux and a sandbox for that worktree shows up, you are done.
Codex in Conductor
Use boxer install codex --user. Nobody is there to approve project hooks in a Conductor session,
and user-level hooks need no approval. Turn off Codex's own sandbox with
sandbox_mode = "danger-full-access" in ~/.codex/config.toml, which applies however Conductor
starts Codex.
Otherwise, run the agent in the sandbox
boxer shim install --harness claude,codex,opencode
boxer install conductorboxer install conductor writes .conductor/settings.toml. It points
claude_code_executable_path, codex_executable_path and opencode_executable_path at boxer's
shims, and adds a setup script that runs boxer up --detach && boxer doctor. Conductor starts the
shim, and the agent runs inside the sandbox. The file holds absolute paths on
your machine, so keep it out of git (add .conductor/settings.toml to .gitignore) and run the
command on each machine.
The setup script warms each workspace's sandbox, so you do not need boxer install git here.
The file holds absolute paths to your shim directory, so it only works on your machine. Each developer runs the two commands above.
This route runs the whole agent inside the sandbox. The agent then needs its login inside the
sandbox too, and boxer mounts its config directory (such as ~/.claude) read-write. See
Inside mode for each agent's credentials, and
Security for what that exposes.
Conductor's local workspaces are GUI-only, so this setup is verified by hand, not by the automated evaluations.
When a workspace is archived
If archiving a workspace removes its worktree (check with git worktree list), boxer treats the
sandbox as gone: the next boxer gc, or the automatic sweep, deletes the sandbox, and its
volumes a week later. A database kept in a volume goes
with them. Dump what you want to keep before you archive. boxer rm --gone --volumes -y reclaims the
space at once; without --volumes, rm keeps them.