Sandboxed · Beta
Set up Sandboxed mode
Sandboxed mode runs Codex or Claude Code inside Docker Sandboxes, with a private filesystem, network, and Docker environment.
Docker Sandboxes changes quickly. GoalCoder supports a narrower tested range, and initial setup can take several minutes or require network policy tuning.
01 · Boundary
What Sandboxed protects
The agent works inside an isolated Docker sandbox instead of running with general access to your Mac. This gives it a private filesystem, network, and Docker environment.
The agent and its provider still need the repository content used for the run. Services allowed by your Docker network policy can still receive requests. Sandboxing does not guarantee that generated code is correct or ready to deploy.
02 · Requirements
Check the requirements
- A Mac with Apple silicon running macOS 14 or later.
- A compatible
sbxcommand line tool.
You do not need Docker Desktop or Docker Engine.
03 · Docker account
Sign in to Docker Sandboxes
Run this command in Terminal. It opens Docker's own browser authentication flow.
sbx login
Docker Sandboxes authentication is separate. Signing in to Docker Desktop does not authenticate sbx.
04 · Daemon
Start Docker Sandboxes when needed
If GoalCoder says Docker Sandboxes is not running, start the daemon in the background:
sbx daemon start --detach
GoalCoder does not start or stop this daemon.
05 · Network
Choose the global network policy
Docker requires you to choose a global policy. It applies to all Docker sandboxes on this Mac. GoalCoder recommends Balanced as a practical starting point, but the decision is yours.
sbx policy init balanced
GoalCoder does not initialize, reset, or change this policy.
06 · Codex
Set up Codex authentication
Start the OpenAI OAuth flow from Terminal:
sbx secret set openai --oauth
Docker owns this flow and its credential storage. GoalCoder does not receive your OpenAI credential.
07 · Claude Code
Set up a Claude subscription
Open a Claude sandbox, then enter this command inside Claude Code:
/login
This signs Claude Code in with your Claude subscription. Docker Sandboxes authentication remains separate.
08 · Initial setup
Allow time for initial setup
Initial setup can take several minutes while Docker downloads the sandbox environment. GoalCoder does not promise a completion time or show a progress percentage.
Later attempts normally use files that Docker has already cached.
09 · Recovery
Diagnose the blocker, then retry
Start with Docker's diagnostic command:
sbx diagnose
If an agent cannot install a package or reach a service, inspect the network policy log:
sbx policy log
- Find the blocked destination.
- Check that it belongs to the work and that you trust it.
- Use Docker's policy guidance to allow only the destination you need.
- Retry the action that failed.
If a Docker organization manages the policy, a local allow rule may not take effect. Ask the organization administrator to review the policy.