Subagents (Task tool) don't inherit parent conversation's allowed tools
Description
When spawning subagents via the Task tool, they run with a restricted permission context and cannot use tools that have been approved in the parent conversation's allow list.
Steps to Reproduce
- Add tools to the project's
.claude/settings.local.jsonallow list:
``json``
{
"permissions": {
"allow": [
"mcp__jetbrains__replace_text_in_file",
"Edit(D:/project/Assets/**)"
]
}
}
- In the main conversation, these tools work without prompting (as expected)
- Spawn a subagent via the Task tool:
````
Task tool with:
prompt: "Fix the foreach loop in MyFile.cs"
subagent_type: "general-purpose"
- The subagent attempts to use
Editormcp__jetbrains__replace_text_in_file
- Result: Subagent gets "Permission denied" / "tool access denied" errors
Expected Behavior
Subagents should inherit the parent conversation's approved tools, or there should be an option to enable this (e.g., "inheritParentPermissions": true).
Current Workaround
Subagents perform analysis and document changes, then the main conversation applies the changes using its approved tools. This works but adds friction and reduces the effectiveness of parallel agent workflows.
Environment
- Claude Code CLI
- Windows 11
- Multiple MCP servers (JetBrains, Unity)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗