Agent teams: allow routing plan approvals and permission prompts to user instead of team lead
Feature Request
In agent team mode, ExitPlanMode and permission prompts (tool approval dialogs) always route to the team lead agent, not the human user. This makes it difficult to have a human-interactive teammate (like an engineering interface) that needs human approval for plans and sensitive operations.
Current Behavior
- A teammate calls
ExitPlanMode→ approval request goes to the team lead agent - A teammate triggers a permission prompt (e.g., running a bash command not in the allow list) → prompt goes to the team lead agent
- The team lead must then relay to the human, or the teammate must use
AskUserQuestionas a workaround
Desired Behavior
A configuration option (either per-agent in .claude/agents/<name>.md frontmatter, or in settings.json, or as a parameter when spawning via the Agent tool) that routes plan approvals and permission prompts directly to the human user instead of the team lead.
For example, agent frontmatter:
---
name: interact
approvalTarget: user # "user" or "lead" (default)
---
Or as a spawn parameter:
{ "name": "interact", "approvalTarget": "user" }
Use Case
We run an SRE monitoring team with:
- Team lead (Opus): coordinates monitors, manages Slack, owns shared docs
- interact (Opus): human's engineering interface for architecture, planning, code, investigations
- env-monitors (Sonnet): automated monitoring loops
The interact agent is the human's primary working pane. When the human asks interact to plan an implementation, the approval should go directly to the human — not through the team lead, which adds unnecessary latency and breaks the mental model of "this is my interactive agent."
Current Workaround
We instruct interact to use AskUserQuestion instead of ExitPlanMode in the agent definition. This works for plan approvals but not for permission prompts, and requires remembering to include the instruction in every agent that needs human interaction.
Environment
- Claude Code CLI on Linux (EC2)
- Agent teams via
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 - Team: lead + 3 monitor teammates + 1 interactive teammate
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗