
Spining up agent swarms are everywhere right now. Wilson Lin showed us with FastRender that an agent swarm could even build a web browser from scratch! The whole ecosystem is converging on multi-agent architectures for complex tasks. So when I saw a tweet claiming Claude Code already has a hidden multi-agent system baked in, my first thought wasn't "no way" - it was "already?"
Turns out: yes. Already.
Kieran Klaassen posted on January 23rd:
I think I found a hidden Claude Code feature! TLDR: It's a built‑in multi‑agent team system in Claude Code. TeammateTool lets you create teams, let agents join, message each other, approve plans, and shut down the team — but it's feature‑flagged and not enabled for most users yet.
He included a gist documenting what he found by running strings on the Claude Code binary. Bold claim. Let's verify it.
I couldn't just trust the tweet, sorry Kieran, so i had to verify!
Claude Code stores its binaries in ~/.local/share/claude/versions/. I'm running v2.1.19:
That's not accidental naming. Let's dig deeper.
Buried in the binary are complete system prompts for team members:
Teammate Prompt: (strings $BINARY | grep -A 10 "You are a teammate in team")
Delegate Mode Prompt: (strings $BINARY | grep -A 10 "You are in delegate mode")
Shutdown Protocol: (strings $BINARY | grep -A 10 "You are running in non-interactive")
The TeammateTool supports these operations:
spawnTeam - Create a new team with task listdiscoverTeams - Find existing teamsrequestJoin, approveJoin, rejectJoin - Membership managementwrite - Direct message to teammatebroadcast - Message all teammatesrequestShutdown, approveShutdown, rejectShutdown - Graceful terminationapprovePlan, rejectPlan - Plan approval workflowcleanup - Team cleanupFound this in the binary:
Translation: Max and Enterprise tiers get 3 agents. Everyone else gets 1 (effectively disabled).
Based on the code, here's how the system is structured:
flowchart LR
subgraph Orchestrator
Lead[team-lead]
end
subgraph Workers
W1[teammate-1]
W2[teammate-2]
W3[teammate-3]
end
subgraph Storage["~/.claude/teams/"]
Tasks[(task-list.json)]
end
Lead -->|spawns| W1
Lead -->|spawns| W2
Lead -->|spawns| W3
W1 & W2 & W3 -->|claim| Tasks
W1 & W2 & W3 -.->|done| Lead
flowchart TB
Start([Start]) --> Normal
subgraph Normal[Normal Mode]
All[All tools available]
end
Normal -->|enter delegate| Delegate
subgraph Delegate[Delegate Mode]
direction LR
Spawn[spawnTeam]
Msg[write/broadcast]
Task[TaskCreate/Update]
end
Delegate -->|exit delegate| Normal
Delegate -->|restricted| Note[No Bash, Read,<br/>Write, Edit]
sequenceDiagram
participant L as team-lead
participant W as teammates
participant U as User
Note over L,U: User blocked until shutdown complete
L->>W: requestShutdown
W-->>L: approveShutdown
L->>L: cleanup()
L->>U: Final response
Want to confirm this on your own machine? Here's how:
Replace 2.1.19 with your version number.
This isn't stub code or a prototype. The prompts are polished. The shutdown protocol is thoughtful - teammates can't just vanish, they have to gracefully terminate. There's a delegate mode that restricts the leader to coordination-only tools. This already looks pretty polished.
The architecture tells us what Anthropic thinks multi-agent workflow looks like and its very close to the Wilson Lin examples. (https://github.com/wilsonzlin/fastrender)
With Tasks already shipping and TeammateTool waiting in the wings, the pieces are falling into place. The architecture is thoughtful - shared task queues, explicit coordination modes, idle notifications. Its elegant in its simpliestiy, matching observations from others like Cursor https://cursor.com/blog/scaling-agents The future of AI coding isn't one agent doing everything sequentially. It's specialized agents collaborating on shared work, each doing what they're best at. And that future is closer than most people realize.
What are you shipping in 2026? Why not today?