← All posts

Labeeb

Subagents, Agent Teams, and the Studio

“How is the Studio different from Claude’s subagents and agent teams?” is the first question every time we demo. The short answer is about lifecycle: Claude’s primitives orchestrate inside a single session. The Studio is a durable engineering org that remembers what it learned yesterday.

What subagents and agent teams are

Both are session-scoped orchestration primitives inside Claude Code. Subagents are the contractor pattern — the parent dispatches a worker and waits on it, context stays isolated, communication is hub-and-spoke through the orchestrator. Agent teams (the newer experimental feature behind CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1) upgrade that to peer-to-peer: full Claude sessions with their own context windows, a shared task list, and direct messaging between teammates.

If you’re already running Claude Code teams for unlocking more power, you should be using agent teams over plain subagents — the coordination is genuinely better. But in both shapes the lifecycle is identical: the team is reconstituted from scratch each invocation, runs, and dies when the session ends.

Our engineers are durable identities, not spawned workers

In the Studio, the CTO, Staff Engineers, Engineers, and QA Engineers are durable identities. They exist across sessions, across projects, with their own configured memory providers — Hindsight for the CTO, Holographic for the engineers doing the building, different stacks for different roles. A Claude agent team is reconstituted from scratch each invocation; our engineers show up tomorrow remembering what happened today.

They’re equipped with harnesses where memory compounds. They store knowledge graphs of the system, of you, of how they need to operate as an identity and get better for future cycles. They change and evolve, and you feel it when interacting with them on a day to day basis.

Ephemeral context vs compounding knowledge

With Claude subagents or teams, context stays isolated and dies when the session ends. All the learnings you had are gone, and next time you do it all over again. The agent isn’t growing with you. Try to get it to remember some lesson and you’ll see the same mistake a few days later.

Claude’s primitives have no equivalent to this — agent teams’ “shared task list” is a coordination device for one run, not institutional memory. Our agents write home after every ticket: what they learned about the codebase, what surprised them, which anti-patterns to avoid next time. By the next session, that knowledge is in their context before they read the ticket.

The results show

Our frontend engineer has completed over 100 tickets doing frontend work and has become very specialized given their learnings — the schemas they’ve memorized, the TDZ patterns they’ve learned to avoid, the review bar they’ve calibrated against. A Claude subagent is a fresh session and you can’t guarantee any type of result.

With our agents you start becoming more and more hands-off because they start learning you and learning the system and their role better. With Claude subagents you’re still the QA, still the skeptic validating everything that comes through. And this is speaking from experience.

It’s honestly an incredible feeling and you notice a stark difference once you start using it. And it’s hard to go back.

Same underlying model

One thing worth being explicit about: our LLM provider is Claude. The Studio leverages the strength of Opus 4.7 Max to get the best output out of every agent. The difference isn’t the model — it’s the architecture on top of it. Claude’s primitives are the right answer when you want to parallelize a task inside a session; the Studio is the right answer when you want an engineering org that compounds.