claude), Codex (codex), and OpenCode (opencode). Type the command from any directory and go. Forks and fresh machines have them too, since the agents are part of the image.
claude starts already logged in on a fresh machine.
Already configured for boxd
Each machine carries an instructions file that every agent reads through its own convention:~/.claude/CLAUDE.md for Claude Code, ~/.codex/AGENTS.md for Codex, and ~/.config/opencode/AGENTS.md for OpenCode. It tells the agent about the environment: the in-VM boxd CLI, the default proxy on port 8000, and how to create sibling machines, manage proxies, and clean up. You skip the part where you explain the platform, because the agent already knows it.
A repo-level CLAUDE.md or AGENTS.md merges on top, so your project conventions come for free as well.
The in-VM boxd CLI is pre-authenticated (how), so any of the three agents can create machines, exec into them, and expose ports without a token or key setup.
Logins
- Claude Code is keyed to your boxd account. Sign in once on any machine, and every machine you touch afterwards already has you logged in. Forks, resets, and new machines included. The credential is stored encrypted on your account and injected at boot, and you can revoke it from the console.
- Codex and OpenCode need a one-time
codex/opencodelogin per machine. The login persists on the machine’s disk and carries into its forks. A brand new machine asks again.
ANTHROPIC_API_KEY (or the equivalent for the other agents) as an env var or secret and the same binaries use it.
Use them
Interactive:An agent that is always available
The machine keeps running when you disconnect, so an agent session that lives on the machine outlives your laptop. Three pieces make it permanent:tmux keeps the terminal session alive on the machine, Claude Code runs inside it, and remote control connects the session to your Claude account so you can drive it from anywhere.
tmux keeps the session on the machine, and remote control makes it reachable from anywhere.
boxd connect myapp followed by tmux attach -t agent.
boxd machine config set myapp auto-hibernate.timeout 0.Many agents at once
One agent on one machine is the starting point. To fan a problem out across many agents in parallel, each on its own machine with a lead agent merging the results, see Agent swarm intelligence.FAQ
Do sessions survive a reboot?
Do sessions survive a reboot?
claude --resume <session-id>, and the same holds for the other agents’ session storage.Where does the Claude Code auth live?
Where does the Claude Code auth live?
Can the agents run Docker, systemd, anything?
Can the agents run Docker, systemd, anything?
Which instructions file wins when a repo has its own?
Which instructions file wins when a repo has its own?
CLAUDE.md or AGENTS.md merges on top of the boxd-provided one, so the agent keeps the platform context and adds your conventions.