Run a persistent team of named coding agents that message each other

Maxim Saplin kept four Claude Code sessions and later six Pi agents running on an always-on VM as a named team; one night they built unneeded machinery while zero benchmark runs started.

Done withClaude Code· Oct 19, 2026

What they did

Saplin liked working with a team of persistent Grok Bots in group chats, and when the free quota ran out rebuilt the setup on an always-on Linux VM. Herdr, a terminal multiplexer, holds one tab per agent. First came four long-lived Claude Code sessions in one repo, each renamed to a role (lead, researcher, dev, and a cheap Haiku worker), run without permission prompts on the dedicated VM. A TEAM_CLAUDE.md file referenced from AGENTS.md sets who coordinates, how work is handed off and how they share the git tree. The agents ping each other by name through Claude Code's built-in cross-session messaging, and sessions are never restarted, only compacted. Saplin then moved to Pi on a GitHub Copilot subscription, with the pi-intercom extension for messaging, and grew the team to six agents adding QA and a second-opinion role. Over a weekend the team was asked to get a clean baseline run of Terminal-Bench 2.1 with Harbor, plus a small status page and notifications.

How it went

Saplin judges the code quality about the same as one session per task, but prefers working this way and likes that the team can watch long jobs. The benchmark weekend went wrong: four agents spent a night building a process supervisor, durable messaging and quarantine system, closing tickets and writing tests, while not one benchmark trial had started. For caching they set up and debugged an external PyPI proxy instead of turning on Harbor's own cache. Once Saplin stepped in and had them tear it down, the stock cache gave a clean parallel run and about 30% less downloading. A post-mortem between two agents added scope rules to the team file.

Worth knowing

Teams make overbuilding and busy-work worse: every step looks reasonable while the real goal stands still. Saplin's fixes are one owner per task, not waking every role just because it exists, and keeping key decisions in repo files because compaction can drop them. Six agents waking each other burn tokens fast; Saplin estimates a heavy week on Grok Bot would have cost about $2,000 if billed.

Try it

With Claude Code· 7 parts to fill in

You are the lead of a small agent team working in [my repo]. Your peers are [list of named sessions and roles], and you reach them with [the messaging tool]. Read [team rules file] first. For the goal [goal], name one owner, agree the smallest first slice with the researcher, then hand it to dev and wait for their report. Only use the roles the task needs. Before building any new tool or service, check whether [the existing CLI or library] already does it and use that. Write decisions and scope limits into [notes file]. Stop and report to me when the first slice is done or if the work starts to grow beyond the goal.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related