Skip to content

cli: rename --sandbox to --isolation for vault run#135

Merged
dangtony98 merged 1 commit intomainfrom
rename-sandbox-to-isolation
Apr 27, 2026
Merged

cli: rename --sandbox to --isolation for vault run#135
dangtony98 merged 1 commit intomainfrom
rename-sandbox-to-isolation

Conversation

@dangtony98
Copy link
Copy Markdown
Contributor

@dangtony98 dangtony98 commented Apr 27, 2026

Summary

Hard rename of --sandbox=process|container to --isolation=host|container for vault run, plus the matching env var (AGENT_VAULT_SANDBOXAGENT_VAULT_ISOLATION) and internal package (internal/sandboxinternal/isolation).

  • Why now: future modes won't fit cleanly under "sandbox." Pre-1.0 is the lowest-cost moment to rename before docs/users ossify.
  • Why host over process: today's "process" mode has no actual process isolation — the only boundary is the agent honoring HTTPS_PROXY. Naming it host makes the "no isolation" tradeoff visible and nudges users toward container when they want a real boundary. Also more accurate when future modes (Lima, devcontainers) land — those run in a VM/container from the host's perspective.
  • No aliasing. --sandbox and AGENT_VAULT_SANDBOX are removed, not deprecated. Pre-1.0, the cost of a deprecation cycle outweighs the small user impact.
  • Default behavior unchanged. Same code paths, same security properties, same default.

Surfaces touched

  • Go: cmd/sandbox_flag.gocmd/isolation_flag.go (SandboxMode/Process/ContainerIsolationMode/Host/Container); internal/sandbox/internal/isolation/ with embed var, image-repo string (agent-vault/sandboxagent-vault/isolation), host CA dir (~/.agent-vault/sandbox/~/.agent-vault/isolation/), and network label (agent-vault-sandboxagent-vault-isolation) all renamed for consistency. Test files renamed: internal/{mitm,ca}/sandbox_*_test.goisolation_*_test.go.
  • Agent skills (versioned together per CLAUDE.md): cmd/skill_cli.md, cmd/skill_http.md.
  • Docs: README.md, .env.example, docs/reference/cli.mdx, docs/self-hosting/environment-variables.mdx. Renamed docs/guides/container-sandbox.mdxdocs/guides/container-isolation.mdx; updated docs/docs.json nav. CLAUDE.md "Two isolation modes" bullet rewritten. .github/dependabot.yml docker directory path.

One-time user impact

  • Existing users will rebuild the docker image once on next vault run --isolation=container use (image is hash-tagged so the old agent-vault/sandbox:* orphans).
  • Any pre-existing ~/.agent-vault/sandbox/ dir from prior runs becomes orphaned (tiny PEM files; safe to rm -rf).
  • Any orphan agent-vault-sandbox-labeled networks from previously-crashed runs won't be auto-pruned.

All acceptable for a pre-1.0 hard rename; the plan accepted these explicitly.

Test plan

  • go build ./... — clean
  • go test ./... — all green (asset hash pin updated for the Dockerfile comment edit)
  • vault run --help shows --isolation (default host); --sandbox absent
  • vault run --sandbox=process rejected with unknown flag: --sandbox
  • Repo-wide grep for AGENT_VAULT_SANDBOX|--sandbox|SandboxMode|SandboxProcess|SandboxContainer|internal/sandbox|/guides/container-sandbox returns zero hits
  • Reviewer: check Mintlify renders docs/guides/container-isolation.mdx and the nav entry
  • Reviewer: rebase feat(sandbox): extend --share-agent-dir to Cursor, Codex, Hermes, and OpenCode #105 (feat(sandbox): extend --share-agent-dir) against this — its title and any flag references need updating

Out of scope

  • Adding Lima or devcontainer modes (the whole point of this rename is to prep for those — they land in separate PRs).
  • AWS SES / SocketLabs "sandbox mode" wording in docs/guides/smtp.mdx (unrelated).
  • Generic "sandboxed agents" SDK terminology in README.md and docs/quickstart/custom-agent.mdx (describes external runtimes like Daytona/E2B/Firecracker, not Agent Vault's flag).
  • "vault run is a convenience wrapper, not a sandbox" sentence in docs/agents/overview.mdx and docs/guides/connect-coding-agent.mdx (still reads accurately for the default host mode).

🤖 Generated with Claude Code

Hard rename of `--sandbox=process|container` to `--isolation=host|container`
(env: `AGENT_VAULT_SANDBOX` -> `AGENT_VAULT_ISOLATION`). Default behavior
unchanged; no aliases. `host` replaces `process` because the only boundary
in that mode is the agent honoring HTTPS_PROXY -- naming it `host` makes the
"no isolation" tradeoff visible. Future modes (Lima VM, devcontainers) will
fit `--isolation` more cleanly than `--sandbox`.

Touches the flag definition, internal package (internal/sandbox -> internal/
isolation), embedded docker image repo, host CA dir, network label, both
agent skill files, and all docs (README, .env.example, CLI reference, env
var reference, container-sandbox.mdx -> container-isolation.mdx, docs.json
nav). CLAUDE.md updated to reflect new names.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mintlify
Copy link
Copy Markdown

mintlify Bot commented Apr 27, 2026

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
agent-vault 🟢 Ready View Preview Apr 27, 2026, 1:09 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, reopen this pull request to trigger a review.

@infisical-review-police
Copy link
Copy Markdown

💬 Discussion in Slack: #pr-review-agent-vault-135-cli-rename-sandbox-to-isolation-for-vault-run

Posted by Review Police — reviews, comments, new commits, and CI failures will stream into this channel.

@dangtony98 dangtony98 merged commit 5ff0a57 into main Apr 27, 2026
9 checks passed
@dangtony98 dangtony98 deleted the rename-sandbox-to-isolation branch April 27, 2026 01:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant