Subagents (Task tool) don't inherit parent conversation's allowed tools

Resolved 💬 3 comments Opened Dec 19, 2025 by maxiboch Closed Dec 23, 2025

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

  1. Add tools to the project's .claude/settings.local.json allow list:

``json
{
"permissions": {
"allow": [
"mcp__jetbrains__replace_text_in_file",
"Edit(D:/project/Assets/**)"
]
}
}
``

  1. In the main conversation, these tools work without prompting (as expected)
  1. Spawn a subagent via the Task tool:

``
Task tool with:
prompt: "Fix the foreach loop in MyFile.cs"
subagent_type: "general-purpose"
``

  1. The subagent attempts to use Edit or mcp__jetbrains__replace_text_in_file
  1. 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)

View original on GitHub ↗

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