sandbox-unblock

Diagnoses sandbox permission failures with eight verification checks before reporting blockers.

5.9k|769|Updated Jan 9, 2026
One-click install
npx skills add https://github.com/FlorianBruniaux/claude-code-ultimate-guide --skill sandbox-unblock
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sandbox-unblock
Source: https://github.com/FlorianBruniaux/claude-code-ultimate-guide/tree/main/examples/skills/sandbox-unblock
Command: npx skills add https://github.com/FlorianBruniaux/claude-code-ultimate-guide --skill sandbox-unblock

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Sandboxed sessions often report false blockers caused by method errors rather than actual policy restrictions, wasting maintainer time on misdirected investigations. This Skill runs a structured diagnostic protocol that eliminates false positives before any blocker report is written.

Core Features & Use Cases

  • Eight-step self-diagnosis: Verifies the command actually ran sandboxed, checks binary existence, reads real exit codes instead of pipe results, and detects command-rewriting PreToolUse hooks that break excludedCommands matching.
  • Network failure classification: Distinguishes allowlist refusals (5-7 second hangs) from nonexistent hosts (under 30 ms failures) and identifies raw TCP limitations that no domain entry can fix.
  • Actionable report template: Produces a literal copy-paste report with exact commands, raw errors, TMPDIR values, and steps already run, ready for whoever holds the settings file.
  • Use Case: When pnpm exec fails with EPERM in a sandboxed session, run the protocol to discover a token-compression proxy rewrote the command so the excludedCommands entry no longer matches, then request the prefixed form instead of filing a false blocker.

Quick Start

Ask the assistant to run the sandbox-unblock diagnostic protocol on the failing command before reporting it as a sandbox blocker.

Frequently Asked Questions about sandbox-unblock

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I diagnose a sandbox permission denied error in Claude Code?

Run the eight-step protocol: confirm the command ran sandboxed via $TMPDIR, put cd and the command in one Bash call, verify the binary exists with command -v, and read the real exit code by redirecting to a file instead of piping through head.

Why does my excludedCommands entry not match my command?

Entries match the command exactly as written, so git -C /path fetch does not match git fetch *, and a trailing star requires at least one argument. A PreToolUse hook that rewrites commands, such as adding a proxy prefix, also breaks matching; request entries in both bare and prefixed forms.

How can I tell a blocked domain from a nonexistent host?

Measure the failure duration: an allowlist refusal hangs for roughly 5 to 7 seconds, while a hostname that does not resolve fails in under 30 milliseconds. Verify the apex domain answers before requesting a new allowlist entry.

Can sandbox settings be changed without restarting the session?

The OS sandbox profile is compiled at session start, so restart before measuring after any config change. Only credentials.files, excludedCommands, and the network allowlist were measured as hot-reloaded; treat restart as the default.

What sandbox limitations have no workaround?

Setuid binaries like ps and top cannot exec, AF_UNIX socket bind() is refused everywhere, direct DNS is cut with all HTTP routed through a local proxy, and writing files inside .idea/ or .vscode/ is refused in the current project only.