bypassPermissions stops working mid-session after sibling tool call error cascade

Resolved 💬 2 comments Opened Feb 26, 2026 by bryantinsley Closed Mar 26, 2026

Bug Description

--dangerously-skip-permissions (and bypassPermissions in settings) works correctly at session start but silently stops bypassing permissions mid-session after a parallel tool call batch experiences a "Sibling tool call errored" cascade.

Environment

  • Claude Code version: 2.1.59
  • Platform: macOS (Darwin 25.2.0)
  • Invocation: claude remote-control --dangerously-skip-permissions -c
  • Shell: zsh

Configuration

~/.claude/settings.json:

{
  "skipDangerousModePermissionPrompt": true,
  "permissions": {
    "defaultMode": "bypassPermissions"
  }
}

Project .claude/settings.local.json:

{
  "permissions": {
    "defaultMode": "bypassPermissions"
  }
}

Steps to Reproduce

  1. Start a Claude Code session with --dangerously-skip-permissions
  2. Session confirms bypass permissions mode is active
  3. Run several Bash tool calls successfully without prompts (e.g., gcloud commands) — permissions bypass works as expected
  4. Issue a parallel batch of tool calls where one call fails (in my case, a Read on a nonexistent file)
  5. The failure cascades to sibling tool calls in the same batch, producing "Sibling tool call errored" errors
  6. From this point forward, all subsequent Bash tool calls prompt the user for approval despite bypassPermissions still being configured

Expected Behavior

Permission bypass should persist for the entire session regardless of tool call failures. A Read failing on a nonexistent file is a normal, non-dangerous operation that should not affect the permission state.

Actual Behavior

After the sibling error cascade:

  • Every Bash command requires manual user approval
  • The settings.local.json file starts accumulating individual allow entries (e.g., "Bash(claude --version)") as the user approves commands one by one
  • WebSearch and other tools also require approval
  • The session effectively reverts to a fully-prompted permission mode

Timeline from Affected Session

| Step | Tool Calls | Permissions Prompted? |
|------|-----------|----------------------|
| 1 | gcloud config get-value project, gcloud app versions list, gcloud run services list (parallel) | No — bypass working |
| 2 | gcloud run revisions list | No — bypass working |
| 3 | Read (nonexistent file) + 2x Bash + Task agent (parallel) | Read fails → sibling cascade |
| 4 | Same Bash commands retried | Yes — user prompted |
| 5 | All subsequent Bash, WebSearch calls | Yes — user prompted |

Additional Context

  • The permission bypass clearly works initially — multiple commands run without prompts
  • The breakage correlates specifically with the sibling tool call error cascade
  • This is not a config issue — the settings are correct and work at session start

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗