docs: record tmux teammate-mode investigation findings

Log the 2.1.148 results in team-test.md: the 'broken tmux pane' premise was
a stale config claim (teammateMode was in-process), not a regression; auto mode
spawns real panes; and custom restricted-tool subagents need coordination tools
listed explicitly to function as pane-mode teammates.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-22 12:37:53 +02:00
co-authored by Claude Opus 4.7
parent 0127fc8fd9
commit 7404b3baf7
+4
View File
@@ -39,6 +39,10 @@ Only run the test procedure on a version not yet logged.
| 2.1.120122 | 2026-04-30 | SKIPPED — release notes show no teams/tmux/teammate fixes; #51818 and #52337 still open (dupes of #51855, unreleased) |
| 2.1.123 | 2026-04-30 | PARTIAL — tmux pane spawns, config on disk correct (backendType: tmux, paneId: %23). Custom subagent_type ("qatux") missing SendMessage — can receive but not send. General-purpose subagent_type has SendMessage — two-way comms work. BOTH types fail to process shutdown_request. TeamDelete reports success but does NOT kill the tmux pane — agent process keeps running, requires manual ctrl-c + exit. |
| 2.1.123 (workshop) | 2026-04-30 | UPDATE — full workshop run with 4 general-purpose agents. Two-way comms confirmed for all. shutdown_request processed successfully by all 4 agents (contradicts earlier single-agent test). TeamDelete cleaned up correctly. Workaround: use general-purpose subagent_type with personality baked into prompt instead of custom subagent_type. |
| 2.1.1242.1.147 | 2026-05-22 | NOT SEPARATELY TESTED — relevant fixes in range: 2.1.133 (subagent SendMessage cwd restore + skill discovery), 2.1.139 (agent view research preview — unified session list), 2.1.144 (background subagent completion notifications), 2.1.145 (Agent Teams non-ASCII name header fix). Cluster of background-session fixes 2.1.1402.1.143 signals a shift to an in-process/daemon background-agent model. Tested cumulatively at 2.1.148. |
| 2.1.148 | 2026-05-22 | NOT A BUG — root cause found. Agent spawned `backendType: "in-process"` because `.claude/settings.json` actually contains `"teammateMode": "in-process"`, NOT `"tmux"` as the "Config" section of this file wrongly claimed. The in-process backend behaved exactly as configured. All split-pane prerequisites ARE met: tmux 3.6a in PATH, running inside tmux (CC in pane %5, `$TMUX` set), `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`. Per official docs (code.claude.com/docs/en/agent-teams), `teammateMode` values are `auto` (panes if inside tmux, else in-process) / `tmux` (force panes) / `in-process` (force main terminal). Setting it to `"tmux"` or `"auto"` should produce split panes. Functional results in-process mode: two-way comms WORK with custom subagent_type "qatux" (it sent its message — improvement over 2.1.123 single-agent), shutdown_request processed cleanly, TeamDelete cleaned up correctly. **The "broken regression" premise of this file was a stale/incorrect config claim, not a Claude Code defect.** |
| 2.1.148 (auto re-test) | 2026-05-22 | INCONCLUSIVE (needs restart) — flipped `.claude/settings.json` to `"teammateMode": "auto"` mid-session and re-spawned. Agent STILL spawned in-process (pane count unchanged %0%6, qatux `backendType=in-process`, lead `backendType` empty). Cause: `teammateMode` is read at session startup and cached — a live edit is not picked up by the running session. The new `"auto"` value is on disk. **Next step: restart Claude Code, then re-run the spawn test. With `auto` + inside tmux (CC was in pane %5) + tmux 3.6a in PATH, teammates should spawn in split panes.** If auto still fails post-restart, set `"tmux"` explicitly. |
| 2.1.148 (post-restart, auto) | 2026-05-22 | WORKS + ROOT CAUSE OF SUBAGENT GAP FOUND. After restart, `teammateMode: "auto"` + inside tmux spawned qatux in a real split pane (`backendType: "tmux"`, paneId `%7`). CONFIRMED the 2.1.123 finding: a custom `subagent_type` whose agent definition has a restricted `tools:` list does NOT get the team-coordination tools injected in pane mode — qatux had only Read/Edit/Write/Bash; SendMessage "exists but is not enabled"; TaskCreate/TaskUpdate/TaskList/Agent absent entirely. (In-process mode does inject SendMessage — backend-inconsistent, contradicts the docs which say coordination tools are always available.) Consequence: such a teammate can't message AND can't return a shutdown_response, so it orphans its pane on shutdown (requires manual `tmux kill-pane`). FIX: added `SendMessage` to the `tools:` frontmatter of all 21 agent definitions in `.claude/agents/`. Re-spawned qatux → SendMessage works AND clean shutdown works (pane self-closes, no orphan), picked up at spawn with NO session restart needed. **Net: the feature is fully functional on 2.1.148; the only real defect is that custom restricted-tool subagents need coordination tools listed explicitly to work as pane-mode teammates.** |
## Test procedure