Background subagents don't prompt for tool permissions before launching

Resolved 💬 9 comments Opened Mar 13, 2026 by jbaczuk-qualia Closed Apr 23, 2026

Bug: Background subagents auto-deny tools instead of prompting before launch

Expected behavior

Per the docs:

"Background subagents run concurrently while you continue working. Before launching, Claude Code prompts for any tool permissions the subagent will need, ensuring it has the necessary approvals upfront. Once running, the subagent inherits these permissions and auto-denies anything not pre-approved."

Actual behavior

When launching a background agent (run_in_background: true) that needs tools not in settings.permissions.allow (e.g., Bash, Write, Edit), the behavior is inconsistent:

  1. Sometimes the permission prompt appears (observed once in our first batch of 6 agents)
  2. Sometimes no prompt is shown and tools are silently auto-denied (observed in multiple subsequent attempts within the same session, even after approving the tool in the main conversation)

Reproduction steps

We observed this across 4 rounds of testing with 6 different plugin-defined agent types. Bash, Write, and Edit were NOT in settings.permissions.allow.

Round 1 — Simple echo commands (6 agents in parallel, background):

  • 5/6 succeeded — Bash was prompted and approved
  • 1/6 failed — needed Write tool, which was NOT prompted for

Round 2 — Realistic prompts (agents launched one-by-one, background):

  • 6/6 failed — Bash denied for all, no prompts shown
  • This was in the SAME session where Bash was approved in Round 1

Round 3 — Pre-auth attempt (approved Bash/Write/Edit interactively in main conversation, then launched 6 background agents):

  • 6/6 failed — permissions granted in the parent conversation did NOT propagate to background subagents

Round 4 — Single background agent (isolated test, later in session):

  • Bash auto-denied, no prompt shown

Round 5 — Another single background agent (even later in session):

  • Bash succeeded — permission from earlier in the session carried over this time

Key observations

  • Permission propagation to background agents is inconsistent within a single session
  • Approving a tool in the main conversation does not reliably grant it to background agents
  • The Write tool was never prompted for, even when an agent clearly needed it (Round 1)
  • The same tool (Bash) was denied in Rounds 2-4 but worked in Rounds 1 and 5

Environment

  • Claude Code CLI
  • macOS (Darwin 24.6.0)
  • Model: claude-opus-4-6
  • Plugin-defined agent types (via subagent_type parameter)

Impact

The inconsistency makes background agents unreliable for real tasks. Users cannot predict whether their agents will have the permissions they need, making it difficult to use background agents for anything requiring Bash, Write, or Edit.

🤖 Generated with Claude Code

View original on GitHub ↗

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