[BUG] Agent-Teams sub-agents with model: opus cannot call SendMessage / TaskCreate / TaskUpdate etc. despite frontmatter declaration (tmux backend)
[BUG] Agent-Teams sub-agents with model: opus cannot call SendMessage / TaskCreate / TaskUpdate etc. despite frontmatter declaration (tmux backend)
Summary
When spawning a sub-agent via the Agent tool with model: opus (claude-opus-4-7 / 1M context) inside an Agent Teams context (CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1, tmux backend), deferred tools listed in the agent's tools: frontmatter — most critically SendMessage and TaskCreate / TaskUpdate / TaskGet / TaskList — are not callable from the spawned process. The identical agent definition spawned with model: sonnet (claude-sonnet-4-6) has all those tools callable and the team communicates correctly.
Concretely confirmed via direct tool-call attempts:
- Sonnet sub-agent:
SendMessage,TaskCreate,TaskUpdate,TaskGet,TaskListall succeed. - Opus sub-agent: self-reports the same tools as absent from its function schema, and the
SendMessageback to the team lead never arrives (observed across repeated sessions, including a prior incident on 2026-04-21 that first surfaced the problem).
Self-reports from the Opus sub-agent additionally list Grep and Glob as missing from its schema, but we have not independently confirmed those with forced invocations — treat the core claim as the deferred tools (SendMessage / Task*), and treat Grep/Glob as a secondary self-report.
This is distinct from #35240 / #34750 — those describe the case where CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS is disabled. In this report the flag is enabled and Sonnet sub-agents work fine, so the tool-registration layer is functional overall. The regression is model-scoped.
Environment
- Claude Code:
2.1.117 - Platform: macOS (Darwin 24.6.0)
- Feature flag:
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1(verified via tmux pane env) - Teammate backend: tmux
- Affected model:
claude-opus-4-7(1M context), invoked viamodel: opusin agent frontmatter - Unaffected model:
claude-sonnet-4-6, invoked viamodel: sonnet
Steps to Reproduce
- Create
.claude/agents/probe-opus.md:
``yaml``
---
name: probe-opus
description: Test agent
tools: Read, Grep, Glob, SendMessage, TaskCreate, TaskUpdate, TaskGet, TaskList
model: opus
---
- Create
.claude/agents/probe-sonnet.mdwith identical frontmatter exceptmodel: sonnet.
- Start a team:
TeamCreate({team_name: "debug"})
- Spawn both:
````
Agent({subagent_type: "probe-opus", team_name: "debug", name: "p-opus",
prompt: "Try calling SendMessage to team-lead with text 'ping'"})
Agent({subagent_type: "probe-sonnet", team_name: "debug", name: "p-sonnet",
prompt: "Try calling SendMessage to team-lead with text 'ping'"})
- Observe:
p-sonnet→SendMessagedelivers;TaskCreate/TaskUpdate/TaskGet/TaskListall succeed via direct invocation (verified end-to-end in this report)p-opus→ no message arrives; tmux pane inspection shows the model self-reporting the deferred tools as absent from its function schema, and aTaskCreateattempt produces no task
Expected Behavior
All tools declared in the agent's tools: frontmatter should be callable from the spawned sub-agent process, regardless of the model.
Actual Behavior
- Confirmed by failed invocation (Opus):
SendMessage,TaskCreate,TaskUpdate,TaskGet,TaskListcannot be called from the sub-agent.SendMessageto the team lead never arrives;TaskCreateproduces no task. - Self-reported but not independently verified (Opus):
GrepandGlobalso reported as absent from the function schema.ReadandBashwere confirmed callable, consistent with static tools being registered. - Control — Sonnet, same frontmatter: all listed tools callable, deferred tools included. Messages and Task CRUD both functioned end-to-end.
Evidence
Self-report captured verbatim from the opus sub-agent's tmux pane:
ツール付与診断の結果を報告します。本プロセスで実際に利用可能なツールは Read のみ でした。 検証結果 - Read: OK - Grep: FAIL(ツール未付与 — 関数スキーマに存在しない) - Glob: FAIL(ツール未付与) - SendMessage: FAIL(ツール未付与 — このためこの報告は team-lead に届けられません) - TaskCreate: FAIL(ツール未付与) - TaskUpdate: FAIL(ツール未付与) - TaskGet: FAIL(ツール未付与) - TaskList: FAIL(ツール未付与) Frontmatter(tools: Read, Grep, Glob, SendMessage, TaskCreate, TaskUpdate, TaskGet, TaskList)で宣言されているが、このサブエージェントプロセスに実際に付与されていないツール: Grep, Glob, SendMessage, TaskCreate, TaskUpdate, TaskGet, TaskList
Paired Sonnet agent (same TeamCreate session) with identical frontmatter returned:
All declared tools are available. Read, Bash, Edit, Write, Grep, Glob, SendMessage, TaskCreate, TaskUpdate, TaskGet, TaskList: all ✅
Both panes launched via the same command template (only --model differs):
/Users/<user>/.local/share/claude/versions/2.1.117
--agent-id <id>
--team-name <team>
--agent-color <color>
--parent-session-id <session>
--agent-type <type>
--permission-mode auto
--model opus # or --model sonnet
Impact
- Opus sub-agents cannot communicate with the team lead → deliverables are lost
- Multi-turn orchestration breaks for any opus-model role (architect, code-reviewer, etc.)
- Silent failure: no structured error surfaces to the orchestrator. Only observable via tmux pane inspection, or by timing out waiting for an expected
SendMessageresponse validate-agents.sh-style static checks can't detect this since the frontmatter is well-formed; the drift is runtime-only
Related
- #35240 —
SendMessagegated behindAGENT_TEAMSflag (different scenario: flag-off; here flag is on and Sonnet works) - #34750 —
TeamCreate/TeamDelete/SendMessageunavailable despite flag (closed; predates this regression) - #51895 — Background sub-agents silent-skip
Writefor.md(different:run_in_background: true; heretmuxbackend) - #51818 — Teammate CLI crashes on
permission_response(different failure mode)
The following recent reports may indicate a broader cluster of Opus-4.7 sub-agent instability in Agent Teams mode; they describe different symptoms but share the environment:
- #52139 (2026-04-22) — Ink renderer crashes in tmux teammate panes
- #52223 (2026-04-23) — sub-agent
Bashreturns minifiedcli.jssource instead of command output - #52216 (2026-04-23) — Opus 4.7 sub-agents miss trivially greppable items
- #51959 (2026-04-22) — Lead agent requires manual stdin to process teammate notifications
Additional Notes
Repeatedly reproducible across sessions. Same-agent, same-prompt, same-team — only model: opus vs model: sonnet toggles the fault.
Workaround: use model: sonnet for all sub-agents that need to communicate back. This loses opus quality for architecture/review roles but restores team functionality.
This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗