[BUG] /sandbox shows Linux dependencies (bubblewrap/socat/seccomp) on macOS instead of Seatbelt
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Running /sandbox in Claude Code CLI on macOS shows the Dependencies tab with Linux-specific packages (bubblewrap, socat, seccomp filter) marked as "installed" — even though none of them are actually installed. There is no way to enable or configure sandbox from this menu.
On macOS, sandbox should use the built-in Seatbelt framework (sandbox-exec) per the docs:
"macOS: Uses Seatbelt for sandbox enforcement" "On macOS, sandboxing works out of the box using the built-in Seatbelt framework."
What Should Happen?
/sandbox should detect macOS and show Seatbelt-based sandbox configuration with an option to enable/disable it — not Linux dependency checks.
Steps to Reproduce
- Open Claude Code CLI on macOS
- Run
/sandbox - See "Dependencies" tab showing bubblewrap, socat, seccomp filter as "installed"
- No Enable/Settings tab available
Error Messages/Logs
No error — the UI simply shows incorrect platform dependencies with no way to proceed.
Environment
- macOS: 26.3 (Darwin 25.3.0, arm64)
- Chip: Apple M3 Pro
- Terminal: Ghostty
- Claude Code: 2.1.71 (native install at
~/.local/bin/claude) - Node.js: v22.22.0 (mise)
- Claude Desktop: v1.1.5368 (installed, not related to CLI)
Diagnostics
$ sandbox-exec -n no-network /usr/bin/true → works
$ which bwrap → not found
$ which socat → not found
$ node -e 'console.log(process.platform)' → darwin
$ uname -s → Darwin
Is this a regression?
Yes — sandbox worked on v2.1.63 (Feb 28). Broke after updating to v2.1.70+ (Mar 6–8).
Last Working Version
2.1.63
Claude Code Version
2.1.71
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Ghostty / zsh
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗