Subagents don't inherit bypassPermissions mode from parent session

Resolved 💬 10 comments Opened Mar 22, 2026 by sorfanit Closed May 28, 2026

Description

When the parent session is configured with "defaultMode": "bypassPermissions" in ~/.claude/settings.json, subagents spawned via the Agent tool still prompt for tool permissions. This defeats the purpose of bypass mode and creates a disruptive experience — every subagent invocation can trigger permission prompts that the user has already opted out of.

Steps to Reproduce

  1. Set "defaultMode": "bypassPermissions" in ~/.claude/settings.json
  2. Also set "skipDangerousModePermissionPrompt": true
  3. Start a Claude Code session — main agent correctly bypasses all permission prompts
  4. Invoke a task that uses the Agent tool (subagent)
  5. The subagent prompts for permissions on tools the parent session would silently allow

Expected Behavior

Subagents should inherit the parent session's permission mode, including bypassPermissions and all allow patterns.

Actual Behavior

Subagents prompt for permissions as if running in a more restrictive mode.

Environment

  • Claude Code version: 2.1.81
  • OS: Windows 11 Pro (10.0.26200)
  • Shell: bash (Git Bash)

Notes

Persistent issue across multiple sessions over several days. Adding broad allow patterns (e.g., Bash(*)) as a workaround doesn't fully resolve it since bypassPermissions should already cover everything.

View original on GitHub ↗

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