boxer

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 conductor

boxer 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.

On this page