4 KiB
Roadmap: claudebox
Overview
claudebox is a Nix-packaged bwrap sandbox wrapper for Claude Code. The roadmap moves from a working sandbox (Phase 1) through CLI polish (Phase 2) to sandbox-aware prompting (Phase 3). Phase 1 is the bulk of the work -- once Claude runs inside bwrap with env isolation, filesystem isolation, and tool provisioning, the remaining phases add UX and developer experience improvements.
Phases
Phase Numbering:
- Integer phases (1, 2, 3): Planned milestone work
- Decimal phases (2.1, 2.2): Urgent insertions (marked with INSERTED)
Decimal phases appear between their surrounding integers in numeric order.
- Phase 1: Minimal Viable Sandbox - Working claudebox command that launches Claude in bwrap with full isolation and tool provisioning
- Phase 2: Env Audit and CLI Polish - Pre-launch env review, --yes, --dry-run, and --check flags
- Phase 3: Sandbox-Aware Prompting - Injected CLAUDE.md so Claude knows its capabilities and constraints
Phase Details
Phase 1: Minimal Viable Sandbox
Goal: User can run claudebox in any project directory and get a fully functional Claude Code session with secrets invisible
Depends on: Nothing (first phase)
Requirements: SAND-01, SAND-02, SAND-03, SAND-04, SAND-05, SAND-06, SAND-07, SAND-08, SAND-09, SAND-10, SAND-11, SAND-12, SAND-13, SAND-14, SAND-15, TOOL-01, TOOL-02, TOOL-03, GIT-01, GIT-02, NIX-01, NIX-02, NIX-03, UX-06
Success Criteria (what must be TRUE):
- Running
nix runornix profile installproduces a workingclaudeboxcommand claudeboxlaunches Claude Code inside bwrap;envinside the sandbox shows only allowlisted variables (no SSH_AUTH_SOCK, AWS_PROFILE, etc.)- Secret paths (~/.ssh, ~/.gnupg, ~/.aws, ~/.config/gcloud, age keys, /var/lib/tailscale) are not visible inside the sandbox
- Claude can run
curl https://example.com,git status,, jq --help(comma), andnix shell nixpkgs#python3 -c python3 --versioninside the sandbox - Ctrl+C terminates the session cleanly; exit code from Claude passes through to the caller Plans: 2 plans
Plans:
- 01-01-PLAN.md -- Create flake.nix and claudebox.sh with complete bwrap sandbox
- 01-02-PLAN.md -- Build verification and manual sandbox smoke test
Phase 2: Env Audit and CLI Polish
Goal: User can review exactly what enters the sandbox before launch, and has diagnostic tools for troubleshooting Depends on: Phase 1 Requirements: UX-01, UX-02, UX-03, UX-04, UX-05 Success Criteria (what must be TRUE):
- Running
claudeboxwithout--yesprints all env vars being passed into the sandbox and prompts for confirmation before proceeding - Running
claudebox --yesorclaudebox -yskips the env audit and launches immediately - Running
claudebox --dry-runprints the full bwrap command without executing it - Running
claudebox --checkreports whether bwrap exists, required Nix packages are available, and ~/.claudebox exists Plans: 2 plans
Plans:
- 02-01-PLAN.md -- Refactor flag parsing, add --check and --dry-run modes
- 02-02-PLAN.md -- Env audit display with grouping, masking, and confirmation prompt
Phase 3: Sandbox-Aware Prompting
Goal: Claude inside the sandbox knows it is sandboxed, how to install tools, and what is unavailable Depends on: Phase 1 Requirements: AWARE-01, AWARE-02 Success Criteria (what must be TRUE):
- First run of
claudeboxcreates a default CLAUDE.md in ~/.claudebox/ if none exists - The injected CLAUDE.md tells Claude it is in a bwrap sandbox, how to use comma (
, <tool>) andnix shellfor tool installation, and that SSH/GPG/cloud credentials are unavailable Plans: TBD
Plans:
- 03-01: TBD
Progress
Execution Order: Phases execute in numeric order: 1 -> 2 -> 3
| Phase | Plans Complete | Status | Completed |
|---|---|---|---|
| 1. Minimal Viable Sandbox | 2/2 | Complete | - |
| 2. Env Audit and CLI Polish | 0/2 | Planned | - |
| 3. Sandbox-Aware Prompting | 0/1 | Not started | - |