Every Claude Code session. Every project. One window.

Braindump in.
Task graph out.

Ordo is a native macOS command post for Claude Code. Dictate a mess of half-formed ideas; it comes back as an ordered task graph, each task with the right prompt, a measurable goal, and its own checks, dispatched across every session you have running.

macOS native Claude Code MIT no cloud, no accounts
Ordo ⏸ 1 en attente ·
Balance tes idées, une par ligne. Ordo en fait un graphe.
Loko 🎤
En attente 1
ChefMateattend une réponse
Le déploiement va écraser la config de prod actuelle...
Projets
Loko3
native-build
busy · build EAS · 0:12
ui-refactor
busy · lineHeight · 0:03
qa-tests
idle · lint · il y a 40 m
ChefMate1
db-migrations
busy · deploy prod · 0:40
hermes1
api-refactor
busy · analyse API · 0:05

Loko

en cours 3 sessions · 6 tâches · 2 terminées 40%

native-build chaud · 3 min ui-refactor qa-tests idle Installer les dépendances Expo terminé Lancer le build iOS sur EAS en cours Soumettre sur TestFlight en file Réviser les lineHeight en cours Lint et format sur tout le dépôt terminé Tests end to end en file
une piste = une session experte → ordre des dépendances en cours terminé en file
Tâche sélectionnée
Lancer le build iOS sur EAS
Sessionnative-build
Dépend deInstaller les dépendances Expo
Tokens41,2k in · 890 out

The whole point

You dump the mess. Ordo draws the graph.

Dictate five half-baked ideas at 1 a.m. Ordo splits them into tasks, orders them by what depends on what, writes each one a real prompt, attaches a goal, and hands you a graph to approve before a single agent runs. Lanes are sessions. Arrows are dependencies. Nothing runs out of order.

Above: one dictation became six tasks across three sessions. The build blocks TestFlight; the lint blocks the end-to-end run. You approved it in one glance, not five prompts.

"Just see your sessions" is the boring half. The point is that a braindump comes out the other side as prompts, goals, and an order of operations, wired across every session at once.


One window, many projects

All of it, at once.

Loko is building on EAS while ChefMate waits on a prod question and hermes reads its own API. Each project is a card; each card carries its live graph. You run five projects in parallel from one window and never open a second desktop.

The router owns placement: you type into one box, it sends the work to the session that owns it, or starts a fresh one.

Vue d'ensemble3 en cours · 2 en attente
ChefMate en attente ▦ 4/8 · ph 2
1 / 3 étapes
33%
Loko en cours
2 / 5 étapes
40%
hermes en cours
0 / 3 étapes
0%
laredac idle
1 / 2 étapes
50%

Progress, at a glance

The squares.

When a task fans out into a workflow, each phase is a row and each agent is a square. Hollow is running, filled is done. A stalled agent turns amber. You read a multi-agent run from across the room, no log-diving.

That amber square is an agent that stopped to ask before overwriting prod. A script can't make that call.

deploiement-prod4/8 · phase 2/4
deploiement-prod4 / 8phase 2/4
FONDATION
EXECUTION
ITERATION
VALIDATION

Definition of done

/goal, or it didn't happen.

Every task can carry a measurable exit condition through Claude Code's native /goal. The session doesn't get to stop until the condition is proven. "Deployed" means the endpoint answered 200, not that the agent ran out of things to say.

There's a hard iteration cap. An agent that can't stop is a more expensive bug than one that stops early.

native-buildcache 210k · 890 out
Objectif de la session
La tâche est accomplie : Lancer le build iOS sur EAS. Conditions vérifiables : artefact ipa produit. Prouve chaque condition avant de conclure (commande, test, ou fichier:ligne).
hard stop

Plafond : si après 5 vérifications successives la condition n'est toujours pas prouvée, arrête-toi et écris ce qui bloque, ne boucle pas indéfiniment.

Basheas build --platform ios --profile production
◉ Build queued · waiting for the ipa to exist before this task may stop

And it never loses one

Fourteen days.

Because every session lives in the same window, the one that quietly finished on July 8 and asked one last question was still there on July 22, marked idle, retrieved. Not stalled. Done. It just needed someone to look.

Yes, a launchd job plus a diff plus a notification catches that one case. It can't route the next prompt, answer the session's question, or refuse to call a deploy done.

Loko · qa-tests
idle retrouvée · il y a 14 j

last message — lineHeight corrigés, branche fix-display-clipping mergée, modifications non commitées signalées. « Tu veux que je regarde autre chose ? »

cache read 88koutput 400cost $0.006started Jul 9

Testimonials, fabricated locally with zero external dependencies.

"I dumped a 2 a.m. voice memo. It came back as four ordered tasks with a plan better than mine. I have no memory of recording it."

— the author

"My deploy task tried to declare victory before the health check came back. Ordo made it sit back down. Rude. Correct, but rude."

— a user we made up

"I thought I had two sessions running. Ordo showed me six. I'm not convinced this app is good for my self-esteem."

— also the author, at 1 a.m.

Read this before you star it

You probably don't need this.

Ordo assumes macOS, Claude Code, several projects at once, and a habit of dictating prompts at 1 a.m. Four filters deep, that's a niche inside a niche; if none of that is you, close the tab with our blessing.

There are at least 11 open issues on anthropics/claude-code about juggling background sessions. If you wrote one of them: hello.


Open source. macOS. Tolerated by exactly one developer so far.

Stop babysitting agents one prompt at a time.

Dump the ideas. The router places them. The graph orders them. The goal proves them.