Orchestrators
One agent you talk to, which hands the real work to threads and reports back.
An orchestrator is an agent you talk to about a stream of work. It plans the work, hands each task to a thread (an ordinary agent session it starts and briefs), keeps track of them, and tells you what finished and what needs you. Because the threads do the heavy lifting, the orchestrator stays free to talk while they work in parallel.
Start one
Open the project's agent menu
Hover a project in the sidebar, open its agent menu (the arrow beside its agent button) and choose New Orchestrator… at the top. The (i) next to it explains what an orchestrator is for.
Fill in the dialog
Give it a Name (it keeps this name in the sidebar) and pick the Agent, Model and Effort. A Claude orchestrator starts on Opus 5.5, and the effort is High or XHigh (XHigh by default).
Click Create, then write your first request
Its first message is a fixed line that loads the orchestrator playbook. Tell it what you want in its chat, like you would any agent.
An orchestrator can run on Claude, Codex, ZCode, Cursor, Grok, Copilot, Antigravity, Pi, OMP or OpenCode. You can also start one from the phone’s agent menu.
Already deep in a conversation? Right-click the session and choose Advanced > Make Orchestrator. It keeps its conversation and keeps running, gets the crown right away, and picks up the playbook once its current turn ends. You can give it a goal in the same dialog. Sessions it started earlier don’t become its threads; ask it to adopt them.
Threads
A thread is a normal agent session. You can open it, read it, and type in it like any other.
- Where they show: threads sit under their orchestrator in the sidebar, which has a crown instead of an agent logo. Hover the crown to fold or unfold them. Threads that are working, waiting, or were active in the last two hours are listed; the rest wait behind an N older threads row.
- The Threads pill: above the orchestrator’s chat box, Threads opens a list of what’s working right now. A thread blocked on a permission only you can grant gets an amber Needs your approval tag. Show recent and N more list the rest. Click a row to open that thread.
Starting and following up
Just ask. The orchestrator answers quick questions itself and starts a thread for anything that takes real work, named after the area it owns (“Accounts settings”, “Sidebar drag and drop”). Say so if you want a particular agent, model or effort for a thread.
A follow-up in an area a thread already owns goes to that same thread, so it keeps its context. That works even after the thread was closed: the message resumes the same conversation.
Reports
You never have to watch a thread. When it finishes a turn, Ghostex sends its final message to the orchestrator. When it stops on a question, the orchestrator is told what it asks. The orchestrator checks the work, commits it when it’s ready (it never pushes unless you ask), and tells you in a few lines what finished and what needs you.
Questions from threads come to you through the orchestrator, so you only ever talk to one agent. A thread waiting on a permission or approval is the exception: approve it in that thread.
Done, reopen and sleep
- When a thread’s work is checked and committed, the orchestrator marks it done, which closes its session and takes it out of the sidebar. It stays listed as done, with its conversation.
- Right-click a thread to Mark Thread Done yourself, or Reopen Thread to bring a done one back under its orchestrator.
- Right-click the orchestrator and choose Sleep Inactive Threads to put every idle thread to sleep. Threads that are working or waiting stay awake.
Worktrees
By default threads work in the project folder, one after another when they need the same files. When parallel work matters, ask the orchestrator to give a thread its own worktree: the thread then works on its own branch in its own folder. See Git and worktrees.
Goal, instructions and memory
Right-click the orchestrator to open:
- Goal & Instructions…: the Goal is one line it works toward (“Ship the new checkout by Friday”). Standing instructions are rules every thread follows (“Branch from main”).
- Memory…: lasting preferences, decisions and pitfalls. When you state one in chat, the orchestrator proposes the exact wording and saves it once you agree. You can add or remove notes here too.
Every new thread gets the goal, the standing instructions and the memory notes with its task, so you don’t repeat yourself.
Questions and pages
The orchestrator asks its questions as a form in the chat: every open question at once, with its recommended choice marked, so you answer with a few clicks. When the question is about something to look at, like two layouts, it sends a page with the mockups and the questions right under them. Questions are numbered (Q1, Q2, …) across the whole conversation, and each tag links to its question. Turn on Previous question button (Settings > General, under Chat) to step through the ones still waiting. See Charts, questions and pages.
Accounts and stuck threads
If a thread can’t start (no saved login, a usage limit) or gets stuck, ask the orchestrator to sort it out. It can see every Claude and Codex account with its usage, move the thread to an account with room on the same conversation, or restart a hung agent. It tells you which thread it moved or restarted. See Accounts and limits.
Change how orchestrators work
The orchestrator playbook is the set of rules every orchestrator follows. Edit it for all projects in Settings > Chat > Orchestrator playbook, or give one project (and its worktrees) its own copy in Settings > Projects. The New Orchestrator dialog shows which playbook it will use, with an Edit button. Existing orchestrators pick up your changes too. Reset to Default brings back Ghostex’s playbook, and a switch turns your copy off without losing it.
Also in Settings > Chat:
- Marked handovers in every session: orchestrators and threads already start each part of their reply with a marker like ❓ Needs you, ✅ Done or 🧪 Untested. Turn this on to have every other agent do the same.
- Orchestrators answer without markers and Show all effort levels are advanced settings (Show Advanced).
From the command line
Orchestrators run on the ghostex orchestrator command, which you can use too:
| Command | What it does |
|---|---|
ghostex orchestrator create --goal "<text>" |
Start an orchestrator in this project. |
ghostex orchestrator promote <session> |
Turn an existing session into an orchestrator. |
ghostex orchestrator status --orchestrator <ref> |
Show its goal, instructions, notes, and every thread’s state. |
ghostex orchestrator start-thread --title "<area>" --task "<brief>" |
Start a thread. Add --worktree for its own branch. |
ghostex orchestrator resolve <thread> / reopen <thread> |
Mark a thread done, or bring it back. |
ghostex orchestrator link <session> / unlink <thread> |
Adopt a session as a thread, or make a thread standalone. |
ghostex orchestrator sleep-inactive-threads <orchestrator> |
Put its idle threads to sleep. |
ghostex orchestrator set-goal, set-instructions, remember, forget |
Change the goal, standing instructions and memory notes. |
ghostex orchestrator playbook / set-playbook |
Read or edit the playbook. |
ghostex orchestrator --help |
Every command and flag. |