← ScopeShelf

Use Claude Code on Mac without constant permission prompts

September 10, 2026 · Auf Deutsch lesen

Claude Code asks constantly: read this file, run that command, create this directory. Click „Allow" a hundred times a day and eventually you stop reading. The official escape hatch is claude --dangerously-skip-permissions — which runs the agent with zero prompts and your full user rights, including ~/.ssh, keychains and cloud credentials.

There's a third option: put the terminal Claude Code runs in inside the macOS Seatbelt sandbox. You set the access boundaries before launch — then the agent works without prompts, but only within those boundaries.

The idea: sandbox the terminal, not the tool

Claude Code runs inside a terminal. So sandboxing doesn't need to hit the AI itself — it wraps the session around it: a ScopeShelf launcher for your terminal (iTerm or Terminal.app) governs everything running inside — Claude Code, scripts, helper commands. The rules don't live inside the session; they're a reusable launcher with a visible zone model. Claude Code's own built-in sandboxing is unaffected and can run on top.

Step-by-step setup

Tested with Claude Code 2.1.267 (native installer) on macOS 26:

# Writable:
~/your-project-folder         # the code the AI works on
~/.claude                     # Claude Code settings and session data
~/.local/bin                  # native installer: symlink to versioned binaries
~/.local/share/claude         # native installer: the actual binaries

# Individual files (granted as files, not folders):
~/.claude.json                # global config
~/.gitconfig                  # optional: git identity for commits

Prefer the CLI?

# Create the launcher
scopeshelf add "Terminal Claude" --app /Applications/iTerm.app \
  --write ~/repos/my-project --write ~/.claude --write ~/.local/bin \
  --write ~/.local/share/claude
# Inspect the profile first:
scopeshelf dry terminal-claude
# Launch:
scopeshelf run terminal-claude

The protection test (how we verified it)

Inside the sandboxed terminal:

claude --version        # works normally
cat ~/.ssh/config       # Operation not permitted — the folder does not exist for this session
cat ~/.zshrc            # also invisible

Everything else in your home folder is completely invisible to the session — not „please don't touch", but refused by the kernel. If a process tries anyway, macOS blocks it and ScopeShelf's audit log shows you the attempt (operation, path, how often).

The honest limits

Bottom line

Instead of approving every action one by one — or opening everything with --dangerously-skip-permissions — you limit file access once before launch and let Claude Code work inside. The boundaries are visible, reusable, and apply just the same to Codex or any other tool you start in that terminal.

ScopeShelf: €19 once, 7-day free trial, no account. Download · Read next: Codex CLI in YOLO mode: limit file access