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
Agent tool (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.
Description
When the parent session is configured with
"defaultMode": "bypassPermissions"in~/.claude/settings.json, subagents spawned via theAgenttool 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
"defaultMode": "bypassPermissions"in~/.claude/settings.json"skipDangerousModePermissionPrompt": trueAgenttool (subagent)Expected Behavior
Subagents should inherit the parent session's permission mode, including
bypassPermissionsand allallowpatterns.Actual Behavior
Subagents prompt for permissions as if running in a more restrictive mode.
Environment
Notes
Persistent issue across multiple sessions over several days. Adding broad
allowpatterns (e.g.,Bash(*)) as a workaround doesn't fully resolve it sincebypassPermissionsshould already cover everything.