Fleet
Every session as a tile: working, idle, or blocked on a human. It also finds sessions Gleipnir never started — including the one in your terminal.
~/.claude/sessions/*.jsonpolled at 1 Hz
Six of them or sixteen, it stays one window: which ones are working, which ones are blocked waiting on you, and which one has been rewriting the same file for twenty minutes.
Then it reads what they built - keys in the browser bundle, tables with row level security off, queries stitched together by hand.
macOS today · Windows next · needs Claude Code installed
Six agents, one project. API is waiting on a yes-or-no. UI has rewritten one file nine times and is flagged for it. DOCS is parked and costing nothing.
Two agents fit in two terminal tabs. Six do not.
Past a handful of sessions you stop knowing which ones are moving. You alt-tab to find the one asking a yes-or-no question, and while you look for it another one has quietly spent four dollars retrying the same failing test.
Gleipnir is one window holding all of them, grouped into projects you can close and reopen with every agent still running. It runs the real claude CLI in a pseudo-terminal — the same sessions, the same transcripts, resumable from a plain terminal if you ever stop using it. Codex and Gemini run alongside it in the same window.
Each one is built on something Claude Code already writes to disk. The source is printed on the right, the way a piece of equipment is labelled with its input.
Every session as a tile: working, idle, or blocked on a human. It also finds sessions Gleipnir never started — including the one in your terminal.
~/.claude/sessions/*.jsonpolled at 1 Hz
Watches the last sixty tool calls of a running agent for thrashing — the same file, the same test, over and over — and warns before it becomes an invoice.
transcript tail, 512 KBnever a full parse
One column per agent, files stacked beneath, reconstructed from what each agent actually did. In a shared working copy git can tell you a file changed; it can never tell you which agent changed it.
~/.claude/projects/<slug>/*.jsonlworks with no repo at all
Real token counts, per agent and per project, priced against the current table. Counted from the transcripts, not estimated — though on a subscription the dollar figure is a size signal rather than a bill.
transcript usage recordsinput · output · cache
Reads those same numbers back to you in a sentence. A four-hundred-thousand token turn is worth knowing about; you should not have to go looking for it.
arithmetic onlyno extra model call
Ask a question without paying for the conversation. A live session re-sends its whole history every turn; a one-shot starts empty, so “did the tests pass” costs a couple of thousand tokens instead of hundreds of thousands.
claude -pruns whether the agent is up or not
Send one instruction to several agents at once. Anything not running is reported back by name rather than silently dropped.
broadcastcollisions flagged first
Reads your project, not your agents: keys reachable from the browser, tables with row level security switched off, queries built by hand. Four answers, not two - nothing is shown green because it was not looked at. A finding becomes a brief you hand to an agent.
your files, in about 100msfree, and it changes nothing
Codex and Gemini CLI run beside Claude Code in the same window - spawned, watched, typed at, parked, grouped into the same project. The modules above that read Claude Code's own transcripts stay Claude Code only, and the app hides those controls rather than showing settings that do nothing.
its own CLI, in a ptytiles, not deep integration
The machine already serves the fleet over your own network, token-paired and off until you turn it on. The phone app that reads it is still being built.
HTTP + WS on your LANoff by default
The one you are working with is front and centre and fully interactive - a real terminal, not a transcript. The rest keep running beside it.
The same fleet by what it is changing. billing.ts sits in two columns at once, flagged in both. Git can tell you a file changed; it cannot tell you which agent changed it.
One file, every change, in order - each block stamped with the agent that made it and when.
Shrink the whole window to a small floating panel of states and leave it in a corner. Click any tile to open that agent and talk to it.
What the agents actually built, checked against the things that bite - here, two tables with row level security off and a policy that quietly allows everyone. Every finding quotes the line, and hands off to an agent to fix.
Claude Code writes a heartbeat while it runs and a transcript as it works. Gleipnir reads those. That is the whole mechanism, and it is why the app can see a session it did not launch.
None of it is a supported interface. It can change in a Claude Code update, so every parser here is built to degrade to empty rather than throw: an update should cost you a feature, not the app.
Gleipnir reads your local files and spawns the CLI you already have. There is no account and no telemetry. Nothing of yours leaves the machine — the only thing it asks the network is whether a newer build exists.
Named for a ribbon.
Two iron chains couldn't hold Fenrir. A ribbon could — not by making the wolf weaker, but by giving the gods something to hold him with. It was thin, light, and made to fit the thing it had to hold.
That's the job here. Eight agents aren't too powerful, they're too many to watch. Gleipnir puts all of them in one window and tells you which one has gone off the rails.
Gleipnir is in closed beta while the rough edges get found. Ask and you will almost certainly get in - it is gated to keep the feedback readable, not to be exclusive.
macOS and Windows Closed beta
Request accessSay roughly how many agents you run at once and what you are building. If you are in, you get a mail with the download for your machine and your code.
Linux Not yet
Linux support is in development.
Before you open it
Gleipnir drives the Claude Code CLI you already have. Install it and sign in first, or the app will open to an empty window.
claude auth status
Beta builds expire
Ninety days after they are built, a beta build stops opening and points you at a current one. Your projects and agents are untouched.