Subagents don't inherit bypassPermissions mode from parent session
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
- Set
"defaultMode": "bypassPermissions"in~/.claude/settings.json - Also set
"skipDangerousModePermissionPrompt": true - Start a Claude Code session — main agent correctly bypasses all permission prompts
- Invoke a task that uses the
Agenttool (subagent) - 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.
This issue has 10 comments on GitHub. Read the full discussion on GitHub ↗