Medulla

Every agent you have,
in one terminal.

Medulla runs Claude Code, Codex, and OpenCode side by side, on your laptop and any machine you add, and shows you all of them at once. Hand it the work, watch every agent on one screen, step in only where you're needed.

The idea

One agent per terminal doesn't scale past two.

Coding agents are remarkable at one deep task. Running ten means ten windows, ten permission prompts you might miss, and no idea which one is stuck. Medulla is one terminal app that runs them all, keeps them visible, and lets you steer any of them without losing your place.

  • One app, no server

    Type medulla and it opens. Nothing to host, nothing to attach to. It finds the agent CLIs already on your machine and puts them to work in the folder you launched from.

  • The agents you already use

    Claude Code, Codex, and OpenCode run as themselves, with your own logins and subscriptions. Medulla sits above them, not in place of them.

  • Your laptop, plus any box you add

    Work runs locally by default. Paste one line into an SSH session on a build server and it joins the fleet. Add as many as you like.

  • Try it without an account

    medulla --mock runs the whole app on a scripted offline demo. Poke at every screen before signing in.

What you get

Built for the person running the fleet.

Every agent on one screen.

One row per agent, live. See what each is doing, which machine it is on, and how much of its context it has used. Select a row and type to answer its question. Cancel one without touching the others. Pop open its full terminal when you want to watch closely.

  • Answer an agent where it asked, not in a separate chat
  • Cancel the one that went wrong; the rest keep running

It tells you when an agent is stuck.

An agent waiting on a permission prompt looks exactly like one thinking hard. Medulla watches each terminal for that state and flags it: the row turns yellow, says what it is waiting for and for how long, and a badge shows on the tab so you notice from anywhere in the app.

  • Recognises Claude Code, Codex, and OpenCode's own prompts, plus the terminal bell as a fallback
  • Clears itself the moment you or the orchestrator deal with it

More machines, two steps.

Open Add Host, press one key to copy a line, paste it into an SSH session on the other machine. It installs Medulla if needed, starts a worker, and sends its address back to your clipboard across the SSH boundary. Paste that in, give it a label, done.

  • Each machine reports real cores and memory, and work is placed on what is actually free
  • Register the folders each machine can work in, so tasks land in the right project

Threads that survive you closing the lid.

Open several threads at once and switch between them while they keep running. Detach, and the operation carries on without the app; reattach later and pick it up, from this terminal or another one. Two people can watch the same session.

  • /new, /resume, /abort from the composer, with the command list filtered as you type
  • medulla sessions lists your recent Claude Code and Codex sessions, resumable in their own folders

Plans you can save and run again.

A workflow is a multi-step plan drawn as a graph: steps run as real agent sessions, branches run in parallel, and a step can wait for you to say yes before doing something irreversible. Describe one in plain words and an agent builds it for you.

  • Dry-run a plan with nothing dispatched before it costs anything
  • A paused run survives a restart and resumes where it stopped

Under the hood

The coordinator that makes it work.

  • It decides who does what

    You describe the work; Medulla splits it, hands the pieces to agents that fit, watches the results, and retries or re-assigns when something fails. Every task ends in a definite state.

  • Cheap to run at scale

    Agents' raw output never floods the coordinator. It reads a distilled picture, so a run of a hundred agents costs about 6,000 tokens per task on its side, not the millions flowing underneath.

  • Budgets that actually stop things

    Per task, per run, and per day. Extra work queues rather than being dropped, and a run cannot spin forever.

  • Uses the seats you already pay for

    Already on Claude Max or a Codex plan? Medulla steers work toward the subscription with the most headroom left, so bought tokens don't expire unused.

  • Tell it what a repo is

    A short MEDULLA.md at a project root says what the code is and how to split work over it. Five repos stop looking like five folder names.

  • Open source

    The terminal app and SDK are public Rust. Read it, build it, run it offline. Your key unlocks the hosted coordinator.

Install

Two commands to a running fleet.

  1. Install

    macOS, Linux, and Windows. The script checks the download against the release manifest and puts medulla on your PATH.

    curl -fsSL https://raw.githubusercontent.com/tinyhumansai/medulla/main/install.sh | sh
  2. Sign in and run

    Sign in through your browser, then start the app. Or skip the account for now with medulla --mock.

    medulla login
    medulla
  3. Add machines

    Paste one line into any SSH session to make that box part of the fleet. Register your repos once and Medulla knows where work belongs.

Run your fleet

Install Medulla, sign in, and hand it everything you'd otherwise babysit one terminal at a time.