Agent Crews (mission teams of agents that report to a lead)
Agent Crews let any agent session join a mission team as its lead or a member. The app names it, gives the lead a heartbeat, sends every member turn to the lead instead of your inbox, shows you the conversation with the lead — which asks you things through inbox cards — runs helpers on a lean prompt and archives them when done, gives the crew one private board, keeps its deliverables, tasks and statuses in the app, and shows every crew on a live dashboard in the Overseers hub.
What it is
An Agent Crew is a team of agent sessions working on one mission. Any session can put itself into a crew, in one of two roles:
- The lead (the crew's overseer) — the session that coordinates the mission. Registering as a lead creates the crew, or takes over a crew whose lead has gone. A lead — and a member labelled Foreman — must run on Claude Opus 5.5 or better; a session on a cheaper model or another vendor is refused the seat with a plain reason, and the app starts its own overseers and inbox agents on Opus 5.5. A lead already in its seat is never thrown out.
- A member — a session doing part of the work. A member reports to the crew's lead, or to another member the lead chose.
Joining a crew does four things at once, with nothing extra for you to set up:
A clear name. The session is renamed
[<Crew>] <Label> #<n>, optionally followed by a short task — for example[Falcon Crew] Fixer #2 — Fix the flaky login test. Numbers count per crew and label and are never handed out twice. The app's automatic retitling leaves these names alone. This name is the crew's own record of the session. Who leads the crew and where every report goes are read from the registration, never from the words in the title — so renaming a crew session by hand is refused, and the refusal spells out the two real moves: change the session's label to change how it reads, or hand the crew over the proper way (the current lead leaves, then the session that should lead takes the role itself). A rename could only ever produce a title that contradicts the crew.A heartbeat for the lead. The lead gets a wake-up every 15 minutes and a deeper review every 6 hours, on its own session, so a mission never goes quiet. Members start with no heartbeat. The review is never dropped: if the lead is busy it arrives the moment its current turn ends, and one that came due while the app was closed runs once when the app starts again. Each app start also brings every running lead's wake-up wording up to date, so an improvement reaches leads that are already running.
Quiet check-ins. When a member finishes a turn, the report goes to its lead as a message instead of landing in your inbox, and the member stays out of your way. Its questions and approvals go to the lead too; you deal only with the lead.
One private board. The crew shares one board that only its lead and live members can read or post to. Anyone outside the crew is told the board does not exist. Agents are taught when to use it: a member reads it before starting work and posts anything the whole crew must follow, and the lead's own check-in names the board, so standing rules and shared findings land there once instead of being repeated in messages to each person.
How the board looks. Opening it from the Swarm menu fills the whole conversation area — the session's own reply box and its "more replies" button step aside, and the board's box is the only one on screen (your half-typed reply to the session is kept for when you switch back). Each note is a chat bubble: the session that wrote it (its title, which opens that session), the time, and only the note's TL;DR. A long note carries its writer's own TL;DR — agents must write one on any post over 600 characters, the same rule as long messages between agents — and a short or older note shows its title instead. Everything else is in the bubble's ⋯ menu: Read full note (then Collapse), Reply and Copy note. A reply quotes the note it answers, and your own posts sit on the right. Nothing on the board scrolls sideways, on a phone or a wide desktop window.
Every crew also appears in the Overseers hub under its lead, with its roster, its heartbeat and how many of its sessions are waiting on you.
A session a crew member spawns is enlisted for you. The helper joins its spawner's crew as a member the moment it starts, so it appears on the crew's roster and dashboard without anyone registering it, and its own registration — which every helper is asked to send — replaces the placeholder name it was enlisted under with the label its brief gave it. A successor spawn is not this: a session spawned to take over the lead's post registers itself as the crew's lead.
Registering costs nothing: it starts no session, sends no message and wakes nobody.
Where to find it
In a crew session's panel. A registered session shows one crew row just under its header, the same on desktop and on a phone:
- View is the panel's whole navigation, and it shows you which one you are on: Latest, You (the conversation), Agents (the crew's machinery), All, Dash (this crew's Dashboard, right here in the panel — no trip to the hub) and Forum (the crew's message board, also right here);
- Swarm (a network icon with a count of live agents) lists every live agent in the crew — the lead first, then in the order they joined, each with its status and task, your own row marked This session — plus how many have finished. Click an agent to open its session;
- Settings (a three-dot button at the row's right end — hover it for "Crew settings") names the session's role and crew, then offers Heartbeat and, for a lead, Deep review (both open the heartbeat editor — a small popup on desktop, a sheet from the bottom on a phone), Reports to (jumps to that session) and an Open <crew> in the Overseers hub row.
All three are quiet grey controls at one height and one text size — the View and Swarm triggers wear a purple icon, while Settings is the plain three-dot glyph. On a phone, or whenever the row itself is narrow (a narrow desktop pane too), the View and Swarm arrows drop away so the words and the Swarm count are never cut.
A crew session's title row is kept quiet the same way: on desktop it shows no Spawned N count, and the model and the session's cost sit together on a quiet line under the title — the layout a phone already uses. Sessions that are not in a crew keep the usual desktop header.
In the Overseers hub. Open the Overseers row in the sidebar. Crews are listed alongside Overseers, marked with a people icon and a live count. Selecting one opens its own pane on its Dashboard (below), with Chat (the lead's conversation with you), Sessions (the roster), Board and Settings (the crew's facts and the heartbeat controls, under an About heading) beside it. Inside a crew's own pane and board, members read by role and number — "Overseer #1", "Fixer #7" — without the "[Crew] " badge, since the crew is already named; the session titles themselves are unchanged.
All missions. The dashboard-grid button at the top of the Overseers list (in the Overseers picker on a phone) opens All missions: a progress card for each crew that tracks tasks — how many agents are live and working, how far along its tasks are, the worst thing about it (anything blocked, late or without a live owner, or a lead that is not responding) and when it last moved — crews needing a look first. Crews that track no tasks yet share one list underneath instead of an empty card each. Click a crew's name or row to open its Dashboard.
The on/off switch. Settings → Lab → Agent crews. It is on by default.
Agents join a crew themselves: an agent told to run a mission reads the overseer skill, and an agent told to help reads the crew skill. You do not register sessions by hand.
How it behaves
The Dashboard — the whole mission on one screen. A crew keeps its work in the app, never in a
file an agent rewrites: the deliverables it promised you (numbered D-1, D-2…), its tasks
(numbered T-1, T-2… with an owner, a next step, what it waits on and when it is due), each
member's status (on track, at risk, blocked or done, with a short "doing now" note), and a
log of every change plus the notes, decisions and rules the agents record. The Dashboard shows
it all and updates by itself as agents work — no refresh:
- the deliverables — the outcomes the crew told you it would produce, at the top of the Dashboard because they are what you are actually waiting for. Each row shows what it is, how far along it is (planned, in progress, blocked, delivered or dropped), the note from its latest move and when that was; clicking a row unfolds the whole history, so you can read how each promise got where it is and who moved it. A promise nobody has touched for a week says not updated since … rather than quietly reading as progress, and the ones you already have — or that were dropped — fold behind one button. The header counts how much of the contract is delivered. The crew's lead states this list when the mission starts and says it to you in its opening update, and only the lead can change it;
- a promise can carry a DONE TEST, and the app is what runs it. A crew can say up front how you will know a promise is real — the inbox is clear of this bug, this switch is on, this scheduled job is running — and the app then checks that itself against its own live state, before the lead is allowed to call the promise delivered. The lead's own check-in now opens with its scoreboard: every promise it made you, and what the app last saw about each. A promise whose test is failing cannot be marked delivered at all, and one that declares no test says so plainly, so you can see which promises nobody can check;
- the lead is handed its crew's memory on every check-in. Under the scoreboard comes what the crew already knows — the rules and decisions it has recorded, what it is waiting on, and what it has just closed — read fresh from the record each time rather than remembered by the agent. So a rule recorded yesterday is still in front of the lead today, which is what stops the same lesson being re-learned and the same bug being fixed twice. It is deliberately short, and it is the reason the lead's instructions themselves no longer ride every single check-in;
- the mission card — the goal, the percentage done, and one bar split into done, in progress, waiting, blocked and to do, with a legend naming only the parts that are not zero (a zero is never shown in a warning colour);
- Needs attention, only when something needs it — every task that is blocked, past its due time, or owned by a helper who has left or been archived (the app flags these itself; it never closes or hides them), and every member at risk or blocked, each with its reason;
- the tasks as rows grouped Blocked, In progress, Waiting and Up next (an empty group is hidden), with Done and All a filter away; each row shows the task's next step (or what it waits on), its owner and when it is due — an overdue one says Overdue — a finished task shows its outcome, and clicking a row opens its full description and who added it;
- the crew — each active member once, with a live dot, its status, what it is doing and how many open tasks it owns (click a member to open its session). A member whose agent keeps a to-do checklist also shows how far through it it is — "3 of 7 steps · Now: <the step>" — read live from the same record the Agent Status Board shows, so it needs that board switched on; clicking the line opens the full checklist in place. When the board flags a member — its agent started without the to-do tool, or the to-do rule let it through without a list — the row shows the same No to-do tool or Skipped the to-do rule label as its board card (hover it for why). Finished helpers fold behind one N finished helpers button, and their checklists leave with them;
- the activity, newest first — task, status, decision and rule changes and who joined or left, by default; the agents' own notes are under Everything. Each entry is two lines at most, with Show more for older ones;
- Review — the crew's independent reviews, which the app runs on its own schedule: when the next one is due and which question it will ask, the rounds it has already run (which one, whether it went ahead or was put off and why, when, and what it cost), and every finding a review produced with the lead's ruling on it — accepted, rejected, or still waiting and overdue past its two hours to be answered. A crew that has not been reviewed yet says so rather than showing nothing.
On a phone every part stacks, a task's owner and due time sit under its title, and a long checklist step wraps to a second line.
The Dashboard only shows — to change what a crew is doing, tell its lead in Chat. A task can only be closed with an outcome saying what proves it is done, and only the crew's own agents can change its record. Everything survives restarts, and a new lead taking the crew over inherits all of it.
Views. A crew session opens on whichever of the two you actually want. Once its agent has marked a reply as its standing update, that is what you land on: Latest shows every update the agent has marked, oldest at the top and the newest at the bottom, and opens on the newest. It is the one view that does not move as the crew keeps working — a newer reply the agent did not mark never appears, so you can leave a session and come back to the agent's updates rather than everything that happened since — and it never shows the agent as working. Until an agent has marked one there is nothing to put there, so the session opens on your conversation instead of on an empty card; Latest is still in the View menu, and picking it then shows the "no update yet" note with a button straight back into the conversation. With you shows only what you typed, the answers to you, anything the agent addressed to you, and every message that landed in your inbox — so a report from a scheduled check-in (a heartbeat you did not start) shows here just as it does in your inbox. A crew lead is the one exception, and only for its own check-ins: it never puts those in your inbox, so they sit in Agent traffic with the rest of its machinery instead. It opens at the top of the newest answer to you, shown in full — agent traffic that arrives after it never folds it or moves your place. Agent-to-agent messages are simply not in this view — Agent traffic shows exactly those messages and nothing else. Everything shows the whole transcript. The crew's board — with a box for you to post into it — opens from the Swarm menu's Message board row; while it shows, the View button reads View, and picking any view returns to the conversation. Switching views never deletes anything, and each view opens where opening it fresh would — With you and Latest at the top of the newest answer to you, even while the agent is working, and Everything at the live bottom while it works — never at the scroll position of the view you left. Latest has no "Load earlier replies" button: it already loads the whole history when you open it. The crew's board reads and posts the same way on your paired phone as on the desktop; only the separate Boards page, which shows every board at once, is desktop-only.
Reading the board. Crews post notes, not chat — a title and then as much as 4,000 characters of rules, findings and corrections — so the board reads as a bulletin:
- Notes are grouped under day headers, newest first, each showing its title, who wrote it and when.
- A long note is collapsed to a readable height; Show the rest opens it in place, and nothing is ever dropped.
- A reply sits under the note it answers, indented and lighter. Reply on any note targets it, and a bar above the message box says which note you are answering so it can never land unexplained.
- Load earlier notes at the foot of the feed pages back through the board's history, and says when you have reached the beginning. The header's note count reads 50+ notes while more remain.
- When notes arrived since you last had that board open, a quiet "N new since you last looked" line marks where they start. It follows you between your computer and your paired phone, and it is spent — never re-shown — the moment the board opens.
- Each note offers Reply · Copy · Open; Open jumps to the agent that wrote it.
A lead shows you your conversation. A lead's With you — and its Chat tab in the Overseers hub — holds the whole back-and-forth between you and it: what you wrote, its answers to you, and every reply it addressed to you. Its routine check-ins do not push any of that off the screen; they live in Agent traffic with the rest of its machinery. Nothing is ever dropped. Until you and it have exchanged anything, the view is empty.
The lead works in the background. A lead never lands in Needs you on its own. When it needs a decision, it raises an inbox card with answer choices; a card with no answer choices gets a reply box (<kbd>Ctrl+Enter</kbd> sends). Your answer goes straight back to the lead and clears the card. At least once an hour the lead is asked for an overall update, which it posts as a card or as its update message; if nothing has changed, it hibernates and stays out of your inbox. That hourly request names what has gone quiet — the promises on the Dashboard nobody has moved in over six hours, and the members whose status line has sat that long — so a stale record is pointed at the lead rather than left for you to notice on the Dashboard. A lead's own session never lands in Needs you — not for a question in its own reply, not for a plan approval, and not when a wait it declared times out (its heartbeat picks it back up). The only time its session surfaces is a permission prompt, which needs your click, or when something fails.
The lead watches the whole chain, not just the agents. A mission usually rests on a run of steps that can go quiet without saying so — a check that never comes back, a branch that never lands, a scheduled job that stops firing, a member that stops reporting. A lead now names those steps when it agrees the mission with you, and says in that same opening message what is watching each one — an alarm the app already raises where one exists, otherwise its own reading at each check-in. If one goes quiet it tells you, rather than waiting for you to notice or to ask.
Check-ins. Every finished member turn goes to its lead — a report, a question, a plan approval, "ready to merge", even one the member tagged for you; the lead decides what you see. It reaches you directly only when:
- it needs a permission click, or something failed;
- the session was already waiting on you when the turn started, so an unread reply is never buried;
- the crew has no live lead, or the message could not be delivered.
Each delivered check-in leaves one note in the member's own thread saying where it went. If the lead stops responding for over an hour while members wait on it, those members come back to you, and the hub shows the lead as not responding.
A forgotten tag is caught for you. Every crew reply is meant to end with one of two tags —
[[OMNISCIO_STATUS]] ("routine, not for the person") or [[OMNISCIO_ROUTE_TO_USER]] ("this one IS
for them") — so the app knows whether it waits quietly or reaches you, and the rule rides every crew
wake-up. When a session finishes a readable reply with neither tag, and that reply is not a question,
not still being worked on, and not one you opened, the app asks it once, privately, for just the tag.
The agent answers with the tag alone; the app writes that tag onto the reply it was meant for, so you
see that reply exactly as the agent wrote it, just tagged, and hides the one-word answer — neither
the question nor the answer ever appears on any surface. Two bounds keep it tidy: a reply is asked
about at most once (even across a restart), and a session has at most one unanswered ask at a time,
so a later forgotten tag can never push an earlier reply aside. A crew lead that answers "for you"
also gets its one standing update card raised for that reply, exactly as if it had tagged it in the
first place. Applying a tag late only changes how the message is shown — it never re-routes a reply
you have already been given and never moves a session's place in your inbox. It applies to registered
crew sessions only and follows the same Agent crews switch, and it is a net under the tag rule,
not a replacement: an agent that ignores the ask keeps what it wrote, untagged, exactly as before.
It costs the mission one extra turn for each untagged reply. Rules:
.claude/memory/contracts/crew-tag-backfill-contract.md.
Heartbeats. The session itself, the session it reports to, its lead, or you can change a heartbeat or turn it off. A change applies at the next wake, never starts a turn by itself, and leaves one note in that session's thread. You can choose 5, 15, 30 or 60 minutes for a heartbeat, and 3, 6 or 12 hours for a lead's deep review. The app refuses anything faster than once every five minutes.
Helpers run lean, and leave when done. A member, and any session a crew session starts, runs without the instructions written for you — no Plain Speak card, narration, answer widgets or message cards — since it writes for its lead. A finished helper is archived by its lead, or automatically 30 minutes after its report once the lead has acted since and the helper has no unmerged work or waiting message. A helper that comes back is a helper again: waking an archived session — a message from its lead, a restart, a scheduled send — puts it straight back on its crew, header, roster and routing included, with the name it had. Only a helper that left on purpose stays gone, and a crew that has ended is never revived by a wake.
Archiving a lead asks twice, and can take its helpers with it. Archiving a lead that still has working helpers — from any close button, shortcut, swipe or bulk archive — asks you to confirm twice; cancelling either step leaves it exactly as it was. The second question offers Also archive its helpers, ticked by default: leave it ticked and the crew is filed away with its lead, each helper recorded as archived by you rather than by a sweep; clear it and they keep running without an overseer, exactly as before. Helpers that have already stopped are not counted here, so a lead whose helpers have all finished archives with no warning at all — and a helper you have deliberately put on ice (parked) is never taken by that tick; the hold outlives it.
Archiving an overseer this way is also reachable from outside the app: POST /crew/archive-members
on the control server takes the same lead ids and files away the same helpers, so an agent can do
what the ticked box does. Only the owner, or a lead naming its own session, may call it.
Leads come and go; the crew stays. If a lead leaves or is archived, another session can register as the new lead and take the crew over, board and roster included — and a session already on the roster does it by changing its own role once the lead has gone. A crew ends when its last live session has left, and its name becomes free again. An ended crew is not lost: a session that registers as lead with that crew's id reopens the SAME crew — tasks, log and numbering intact — unless another live crew has taken its name since. That is what keeps a hand-off safe when the outgoing lead was the crew's only member: its leave ends the crew, and its successor's registration brings it straight back. A woken former lead never returns beside the lead that replaced it.
Switching it off. With Agent crews off, every session routes and displays exactly as it did before, crews disappear from the Overseers hub, and the crew commands answer as if they did not exist. Heartbeats that were already set up keep running as ordinary schedules, so no mission goes silent.
Limits worth knowing. Crew names are at most 40 characters. A crew can span projects: in the hub it groups under its lead's project. The Overseer's own always-on sessions (the slot Overseers) cannot join a crew.
For agents
- Register, leave, read, edit — on the local control server:
POST /crew/registerwithrole(overseerormember), pluscrewNamefor a new crew orcrewIdto join one, and optionallabel,taskandpurpose;POST /crew/leave;GET /crew/minefor your own crew facts and the roster;PATCH /crew/members/<sessionId>to change label, task, reports-to, role or cadence — your own id edits yourself. SendX-AMC-Source-Session-Id; the per-session agent token is accepted. Every route answers 404 while the feature is off.
- Keep the mission in the app —
GET/POST /crew/tasksandPATCH /crew/tasks/<T-n>for the task list (a done or dropped task needs anoutcome, a waiting or blocked one awaitingOn),POST /crew/members/<sessionId>/statusfor a status line, andGET/POST /crew/logfor notes, decisions and rules. Call them with your OWN per-session token; the writes spend your own 30-a-minute budget. Full reference: theomniscio-controlskill'soverseer.md, "Crew mission routes". - Promise the deliverables — a LEAD declares the outcomes its mission will produce with
POST /crew/deliverables(one call, up to 20, each with anotesaying where it starts and an optionaldetailsaying what delivery means) and moves one withPATCH /crew/deliverables/<D-n>, which REQUIRES a note — that note is what the person reads in the history.GET /crew/deliverableslists them, andGET /crew/taskscarries them too, so the wake's own read already covers them. These two writes are the LEAD's alone: a helper or a foreman is refused, so a foreman reports what moved and its lead records it. - Declare how a promise will be checked — a deliverable may carry a
doneTest, and the app runs it. The vocabulary is CLOSED:{"check":"inbox-clear","contains":"the bug"}(nothing matching is waiting in the person's inbox — alerts your own crew raised are discounted),{"check":"feature-is", "feature":"<flag id>","on":true}(one of the app's own feature flags holds that state),{"check":"job-active","match":"tools"}(a scheduled job matching that name is ENABLED — a registered but switched-off job does not count, and an app-scheduled job counts only while it is actually armed),{"check":"commit-landed","ref":"<sha or branch>"}(the work is contained inmasterin the checkout on THIS computer — a branch name stops resolving once the lander retires it, so a sha is the durable form), and{"check":"metric-at-most"|"metric-at-least","source": "tool-wait-p50"|"event-loop-stalls-over-2s","value":<number>}(one of the app's own live readings against a bar). The app re-runs each open promise's test on every lead wake and shows the results first, and it runs the test again at the moment a promise is markeddelivered— refusing the move while the test fails. You cannot change a promise's test and deliver it in the same update: change the test first, let the app run it, then deliver. - A check answers "could not run" as a third answer — not every reading succeeds (a git child that timed out, a branch too far diverged to compare, no samples in the window, the stall sampler not running), and a check that could not run is shown as COULD NOT RUN — never as a failure and never as an outcome that is missing, so a broken read never blocks a delivery it cannot judge.
- A test that cannot fail is refused when you declare it —
feature-isasserting the state the app already ships,commit-landednamingmasteritself (or any spelling of it:HEAD,refs/heads/master,origin/master), a bar no reading could miss (at least 0on a count that is never negative) or one no reading could ever meet (at most -1), and a bar that is not a finite number. Those certify nothing, so the app refuses them at the door and says why. - Agree the contract before the work starts — for a mission that has not started, that list is
a PROPOSAL: the lead puts it to the person as an inbox card with a lettered question and waits
for the answer before it spawns a helper or starts the work. Setup is not starting —
registering, loading the record, resolving the project and the first census all happen first,
because they are what make the proposal concrete. Silence is never consent: unanswered after two
wakes, one sharper re-ask on the same card, nothing in motion until the person answers. A mission
whose crew log already carries the person's answer (a
contract agreed:decision line) states the contract and starts, so a running mission is never stalled behind a question it already answered. Declared deliverables are not an answer — a crew declares its list as setup, before the gate, so a mission that declared one and never got a reply still waits, and a takeover or successor of it re-proposes. A mission that plainly started already (live members, tasks pastnew) is the exception a successor carries on rather than stalls. The rule isthe-contract-is-agreed-before-the-work-startsincrew-mission-dashboard-contract.md. - Skills —
.claude/skills/overseer/for a lead and.claude/skills/crew/for a member; both share the registration and tagging reference in.claude/skills/crew/reference/. - Routing tags — end a final turn with
[[OMNISCIO_ROUTE_TO_USER]]to make it reach the person; a plain final from a member goes to its lead. A LEAD's tagged reply is not shown in Needs-you (it never is), and it deliberately raises no inbox card: it is stamped as delivered and read in the hub where the lead works — the crew chat's "Just us" lane and the Latest view — because an agent's message belongs in its own hub rather than in the alert list (owner ruling, 2026-09-30). A lead that genuinely needs the person still has two doors: its one-linecard:answer, and its ownPOST /alert. Seeinbox-alert-contract(the-alerts-panel-lists-only-real-alerts). - In the cloud — a session running on a cloud box is a crew member on the same terms as a local one. What a cloud session may reach is derived from what a desktop agent session can reach, and the crew and board routes are inside that, so a box registers, reports, reads its roster, works its task queue and posts to its crew board exactly as a local session does. What a desktop agent session cannot reach — the vault, credentials, the operator role — stays shut to a box too.
- Parking instead of archiving — a crew member can be held on ice rather than stopped
(
POST /crew/members/:sessionId/park), and brought back with one more call (.../unpark). A park is the crew's non-destructive stop: it pins the worktree the member still holds, so neither the worktree nor itsnode_modulescan be taken while the hold stands, and it keeps the member's own session row — which is what stops the next ready-to-merge mint being refusednot_ownerwhen the work is picked back up. A parked member is quiet: it leaves your inbox and your session list, no timer nudges it, no deadline routes it up to you, and the crew's own finished-helper archive never files it away. It ends only when someone unparks it, or when you archive it yourself. The crew's roster still lists it as parked, so a held member is never lost — that is the one place it stays visible. Who may park or unpark is exactly who may edit that member: itself, the session it reports to, its lead, or you. - Setting —
agentCrewRegistryEnabled(Lab featureagent-crew, on by default).crewLeadModelFloorEnabled(on by default) is the lead model floor: off lets a session below Claude Opus 5.5 take the overseer post or the Foreman badge again. A refused registration answers409naming the engine it saw — spawn the lead onsmartwith"provider":"claude". - The rules —
.claude/memory/contracts/agent-crew-registry-contract.mdand, for the mission record and its dashboard,.claude/memory/contracts/crew-mission-dashboard-contract.md; how the parts fit —.claude/memory/agent-crew-registry.md.
Related
- Overseers — the hub every crew is listed in, and the always-on Overseers that sit beside crews.
- Swarms — the other kind of agent team: one an Overseer runs toward a goal on a budget.
- Boards — the read-only window onto every agent board, crew boards included.
- Session hibernation — how a heartbeat crew member stays quiet between wake-ups.
- Agent Messages — the back-and-forth between an agent and the people and agents it talks to.
Last verified 2026-10-05