The guardrail bypass checklist.
Where Claude Code, Codex and Cursor guardrails stop, in each vendor's own words, plus 13 public bug reports filed since August 2026. Test each item against your own config.
Claude Code.
Bash rules match text
Bash permission rules match the command string, so the docs call them no security boundary.
Bash(curl *)leaves/usr/bin/curlandsh -c 'curl ...'open, andBash(git push *)leavesgit -C . pushopen. SourceTest: run each variant against your deny list.
Read and Edit rules cover built-in tools
Deny rules for Read and Edit leave
grep -rand scripts that open files on their own. The sandbox covers those. SourceSaved approvals land in a local file
Choosing "don't ask again" writes the rule to
.claude/settings.local.json. SourceTest: review that file for broad allow rules.
Hooks proceed on failure by default
On most events a failed or timed-out hook lets the action go ahead. Exit code 2 blocks.
"onFailure": "block"needs v2.1.295 or later. SourceSandbox allowlists need care
Broad domains such as github.com allow data exfiltration and domain fronting.
allowUnixSocketscan exposedocker.sock. Write access to PATH folders or.bashrccan lead to privilege escalation. Use filesystem and network isolation together. Source
Codex.
Network is off in workspace-write
sandbox_workspace_write.network_accessturns it on. Domain rules apply only withnetwork_proxyenabled, and deny wins over allow. Source SourceSome paths stay read-only
.git,.agents,.codexand.awsare protected.danger-full-accessand--dangerously-bypass-approvals-and-sandbox(--yolo) remove the protections. SourceRules see whole scripts
bash -lcscripts with redirects,$(), environment variables, wildcards or control flow are not split into commands, so a rule applies to the whole invocation. Order is forbidden, then prompt, then allow. SourceEscalations skip the proxy
An approved full sandbox escalation can run outside the managed command proxy.
dangerously_allow_all_unix_socketsis flagged as risky. Source
Cursor.
Run modes are best effort
Cursor calls run modes "best-effort guardrails rather than a hard security boundary". MCP tool calls ask for approval. Source
Auto-review can rerun outside the sandbox
"Auto-review is not a security boundary." A command that fails in the sandbox can rerun outside it after classifier review. Source
Default network list is broad
sandbox.jsonlives in~/.cursoror.cursor. Network policy defaults to deny and deny beats allow, but the default mode adds built-in domains such as github.com, google.com and*.googleapis.com. Typeinsecure_noneturns the sandbox off. SourceWorkspace trust starts off
Turn it on before opening repos you do not control. Source
13 public reports.
Guardrail bugs filed on GitHub between Aug 13 and Oct 27, 2026. These are user reports; status reflects GitHub on Nov 4, 2026, and vendor confirmation is Unverified.
| Filed | Agent | Report | Status |
|---|---|---|---|
| Aug 22 | Claude Code | #88770 permissions.deny rule Bash(curl *) bypassed under Auto Mode | Open |
| Aug 22 | Claude Code | #88891 Custom autoMode hard_deny and soft_deny load but are not enforced | Open |
| Aug 13 | Claude Code | #86253 Managed disableBypassPermissionsMode does not block --dangerously-skip-permissions | Closed |
| Sep 30 | Claude Code | #98376 hooks key in managed-settings.json ignored | Open |
| Sep 23 | Claude Code | #96408 allowedMcpServers not enforced when the settings fetch is slow | Open |
| Oct 27 | Claude Code | #105470 Empty remote settings cache revalidated with 304 indefinitely | Open |
| Oct 18 | Claude Code | #103241 Read deny bypassed through command substitution, subshells, source and interpreters | Open |
| Sep 14 | Claude Code | #94362 PreToolUse hook without the exec bit fails open | Open |
| Oct 21 | Claude Code | #103909 Cloud Projects ignore the repo .claude config since 2.1.306 | Open |
| Oct 14 | Claude Code | #102136 Permission prompt defaults to Always allow | Open |
| Aug 21 | Codex | #39973 Retiring approval_policy untrusted weakens the approval boundary | Open |
| Aug 21 | Codex | #39872 TUI bash deny not enforced; apply_patch deny can be bypassed | Open |
| Oct 4 | Codex | #50807 Codex Web Ask for approval escalation runs without a prompt | Open |
Run this checklist on every release.
denyproof probes your guardrails after each agent update and flags any rule that moves.
Sources.
- Claude Code: Permissions
- Claude Code: Sandboxing
- Claude Code: Hooks
- Codex: Agent approvals and security
- Codex: Sandboxing
- Codex: Rules
- Cursor: Agent security
- Cursor: Run modes
- Cursor: Sandbox reference
- Issue links in the table above, on github.com.