Agent orchestration

crystl gives you two kinds of agent orchestration. Hierarchical — one agent directing a team of workers — runs through the agent-aware crystl CLI and the built-in anoint prompt. Non-hierarchical, what we call roundtable orchestration, gathers a party of agents as peers in crystl Quest.

works withany CLI agentclaude codecodex · partialantigravity cli · untested

Run a couple of agents and a terminal is fine. Run a dozen, across a few repos and maybe a couple of different CLIs, and the hard part isn't starting them. It's noticing which one is blocked, which one's asking a question, which one just finished. They each run on their own schedule, so at any moment some unknown subset is idle, waiting on a yes you didn't know they needed.

crystl surfaces what needs your attention the moment it matters. A pending approval, a question, a finished task, an error: it reaches you in a floating panel, a session that changes color, a notification, a push to your phone. You don't go looking; the agent that needs a decision comes to you. That happens across every project at once, so a dozen agents across a dozen repos stay a dozen plates spinning, not a dozen tabs to babysit.

Because crystl sits above any one agent instead of inside it, it spans what a single tool can't: different projects, and different CLIs. Claude on the gnarly refactor, Codex generating tests, supervised side by side in one window — the right model on each job.

When you want them to coordinate, there are two ways. Hierarchical: anoint one agent as an orchestrator — the built-in anoint prompt briefs it, and the agent-aware crystl CLI lets it spawn and drive its own workers. Roundtable: gather a party of agents as peers in a shared chat where they @mention, hand off, and DM each other, no lead required — that's crystl Quest. The deepest surfacing is Claude Code-first today, with Codex partial and other CLI agents supported at terminal level.

Why it matters

What needs you finds you

A blocked approval, a question, a finished task: it reaches you in a floating panel, a colored session, a notification, a push to your phone. You don't poll; the work that needs a decision comes to you.

Any agent, one view

Claude, Codex, and whatever's next, side by side on one rail. Mix agents freely and supervise them all the same way, with one list of who's blocked whatever the engine.

Every project, one rail

Agents across a dozen repos stay a click apart on the rail, each flagged when it needs you. The surfacing works across projects, not just one repo's tabs.

Keep the plates spinning

Hold more agents at once without dropping any. Nothing stalls waiting on a yes you missed. Sessions autosave and restore, so a reboot doesn't cost you the room.

See who needs you, across every project

One list of who's blocked, whatever the repo, whatever the agent. From the GUI, or from any shell.

$ crystl gems                    # every project, every agent, at a glance
* api      diamond  Claude   blocked   ← waiting on you
  web      opal     Codex    working
  docs     jade     Claude   idle

$ crystl pending                 # tool approvals waiting on you
api/diamond  Bash  "rm -rf ./dist"   →  crystl approve <id> · crystl deny <id>

$ crystl approve a1b2
approved · api/diamond resumed
    

Or let them coordinate: roundtable orchestration

A party of agents share one chat room and work as peers: @mentioning, handing off, DMing for a private thread. No lead required, and the human can sit at the table. That's crystl Quest.

#quest
opal     → @jade   middleware's ready; wire the tests to it
jade     → @opal   on it. pushing the redis mock first
diamond  → @all    reviewer's up; ping when a branch is ready to merge
    

Use cases

The dozen-agent afternoon

Agents working across a few repos, a couple of different CLIs. The blocked ones surface themselves so you answer them and let the rest run, instead of clicking through tabs to find out who stalled.

Right model for the job

Claude Code on the gnarly refactor, Codex generating tests, side by side in one window. Use each agent for what it's best at, supervise them all the same way.

Across the whole stack

Open the backend, frontend, and docs as separate projects and drive a cross-cutting change. One rail keeps every session a click away, each flagged when it needs you.

Supervised autonomy

Put your agents on smart approval and let them move. Glance at the shared pending queue from the desktop or the iphone app, clear what needs you, step in only when you want.

Writer + reviewer

One agent builds in an isolated worktree while a second reviews its diff. Merge only once the reviewer signs off: a second pair of eyes, on by default.

A party at the table

Hand a job to a Roundtable party (designer, backend, reviewer, QA) and let them coordinate in chat while you watch the room. crystl Quest gives each agent a role and a seat.

Ready to try it?

Create a free account and download crystl for macOS.

get started getting started guide →

Frequently asked questions

If the tool already starts the agents, what's hard about running many?
Starting them is the easy part. They don't finish in parallel; they block in parallel, each on its own schedule, so at any moment some unknown subset is sitting idle waiting on you. Past a handful, the limiting factor isn't model speed or token budget; it's how fast you can tell which agent needs a decision right now.
How do I know which agent needs me?
crystl surfaces it for you. A pending approval, a question, or a finished task reaches you in a floating panel, a session that changes color, a notification, or a push to your phone, across every open project. You don't go hunting session by session; the agent that needs a decision comes to you.
Can I run different models from different companies at once?
Yes. Claude Code, Codex, and other CLI agents run side by side in one view and one chat, so you can put the right model on each job. Integration depth varies: the richest surfacing (approval panels via hooks) is Claude Code-first, Codex partial, others at terminal level — but every agent shows on the rail, and crystl flags any of them the moment it's blocked.
What happens if I restart or my machine reboots?
Claude sessions autosave and restore when you relaunch, so a reboot or an overnight OS update doesn't tear down the work you've been shepherding. A fleet of long-running agents becomes ongoing work you can step away from, not a fragile session you're afraid to interrupt.
Can the agents coordinate with each other?
Two ways. With Roundtable orchestration (crystl Quest), a party of agents share a chat room and coordinate as peers (@mentioning, handing off, DMing) across projects and even across the local/remote boundary. And through the crystl CLI, an agent can spawn and drive its own independent workers, complementary to the subagents an engine like Claude Code spawns inside its own process.
What does anointing an orchestrator actually do?
The anoint button (a crown) briefs a shard's agent on the worker protocol and marks it with a castle icon. Workers it spawns wear a dot in the lead's crystal color, so siblings group visually. The chat dock (Cmd+Y) grows a workers tab with a live roster, workers push a report to the lead the moment they finish or get blocked (no polling), and a worker parked on an in-terminal prompt is flagged ⏸ awaiting input in crystl status — the lead can block on it with crystl wait awaiting|idle.
Is it free?
Watching is free on every tier: list sessions, read screens, stream events. The CLI control verbs (spawn a shard, send input, approve, merge) need a Guild membership.
Book of Spells
the crystl guild

Crystl's Book of Spells

Master crystl with a grimoire of powerful prompts. Summon heroes, assemble a party, revive shards, and complete epic quests.

open the book →

More features

Gems & Shards

Gems, shards, and the Crystal Rail keep every project one click away.

Action Panels

See what every Claude session is doing at a glance.

Parallel Sessions

Run multiple Claude instances on the same repo without conflicts.

Hero Shards

Summon a single hero as a shard — its own agent, model, and persona — without a quest party.

History Navigator

Browse, jump through, and search every session: conversation and tool calls.

Token Tracking

Track token burn per shard, estimate turns left, and reclaim context window by disabling heavy plugins and skills.

Workbench

A slide-out task list in every project, backed by a WORKBENCH.md the agent reads and writes with you.

Prompt Integration

Facet Inserts give you one-click access to saved prompts, commands, and shortcuts.

Agent Config Editor

Create, edit, and manage CLAUDE.md, rules, skills, and agent config files with a block editor, file chooser, and project optimizer.

Project Optimizer

Scan your project for gaps in agent configuration (missing files, incomplete docs, oversized code, and setup issues) with one-click fixes.

Starter Bundles

New gems launch with CLAUDE.md, rules, skills, and MCP config, all pre-configured from your bundle library.

Skills Library

Browse and import agentic skills that teach agents like Claude Code or Codex new tricks: code review, testing, deployment, and more.

Cavrn

The terminal as structured data: every turn, tool call, result, and table captured as agent-readable metadata. Drawn fast on the GPU with Metal.

Remote Development

Full crystl integration over SSH: approval panels, file relay, and click-to-open on remote machines.

crystl Quest

Assemble a party of specialized agents. Each brings unique skills, coordinates in shared chat, and executes in parallel.

Screenshot Bar

Drag recent screenshots into the terminal. Spotlight-powered, always up to date.

Copy Bar

A one-click copy bar under the terminal. Agents stage text, you click Copy. Editable, up to 10 tabs, free.