ORBIT

A cockpit for the agents that write your code.

It runs the coding CLI you already use, each task in its own worktree, and writes down what every run did.

curl -fsSL https://getorbit.sh/install | bash

macOS and Linux.

Stay in the loop

  1. Orbit in three minutes

    2:54

    What Orbit does, start to finish: running the work, reading what it did, supervising it, and making it yours.

    Learn more in the docs →

Get started2 videos · 1:44

  1. 01

    Orbit in a minute

    0:45

    A minute of the recordings below, without sound.

    Learn more in the docs →
  2. 02

    Getting started

    0:59

    Install it, open it where your repositories are, and write the first task: it runs and stops where you decide.

    Learn more in the docs →

Run the work8 videos · 5:43

  1. 03

    A run, end to end

    0:58

    A task moves through its flow phase by phase, stops at the gate you set, and goes on when you let it. Then every tab shows what it did.

    Learn more in the docs →
  2. 04

    Many tasks at once

    0:36

    Several tasks run side by side, each in its own worktree and branch, in one window.

    Learn more in the docs →
  3. 05

    One change, several repos

    0:43

    A task can span your backend and frontend: one diff per repository, all in the same task.

    Learn more in the docs →
  4. 06

    Ten agents, four percent

    0:52

    Ten agents run at once while Orbit uses 4% of one core. An IDE doing the same uses about half of one.

    Learn more in the docs →
  5. 07

    What each agent costs your machine

    0:30

    Press % to see each agent's memory and CPU, and kill one that hangs.

    Learn more in the docs →
  6. 08

    Autopilot

    0:26

    One key and Orbit works the queue on its own. A task that needs a person stops and waits for you.

    Learn more in the docs →
  7. 09

    The guard

    0:35

    When an agent loops, hangs or spends too much, Orbit stops it and hands the task back to you.

    Learn more in the docs →
  8. 10

    The CLI, both ways

    1:04

    Press c and your own CLI opens in the task's worktree, already told the task: Claude Code, Codex, opencode, Cline or Antigravity. Quit it and the session is in the task's notes.

    Learn more in the docs →

Understand what it did4 videos · 3:06

  1. 11

    Reading what it did

    0:46

    A finished task: how the prompt became the diff, what the agent says it did and did not, the diff itself, and where in the repository it went.

    Learn more in the docs →
  2. 12

    Inside a task

    0:56

    The fourteen tabs a task opens to, one at a time, each with what it is for.

    Learn more in the docs →
  3. 13

    Files, like an editor

    0:37

    The checkout as the task left it: choose lines and copy them, or open a file's menu for its patch, its path, your editor or Finder.

    Learn more in the docs →
  4. 14

    The map of a change

    0:47

    Every route a change touches, drawn down to the query it runs.

    Learn more in the docs →

Supervise and learn2 videos · 1:14

  1. 15

    The supervisor

    0:38

    A second agent reads each finished run against what was asked, and takes directions in a thread you write into.

    Learn more in the docs →
  2. 16

    What Orbit knows

    0:36

    Rules about your code reach every prompt. Each one keeps its source, and you can narrow it or pause it.

    Learn more in the docs →

Make it yours3 videos · 1:47

  1. 17

    Flows you write yourself

    0:31

    A flow is a list of phases, each with its own engine, model and permissions. Five ship built in, and you write the rest.

    Learn more in the docs →
  2. 18

    Describe a flow in one sentence

    0:31

    Say what the flow should do. Orbit drafts its phases, and you read them before you save it.

    Learn more in the docs →

Long sessions2 videos · 1:06

  1. 20

    Compact a session

    0:38

    When a session's context fills up, compact it and keep going.

    Learn more in the docs →
  2. 21

    Out of tokens? Switch provider

    0:28

    When an engine runs out, autopilot moves the task to another one, which continues from the step it stopped at.

    Learn more in the docs →

Fewer tokens1 video · 0:36

  1. 22

    The agent asks Orbit for the code

    0:36

    The agent asks Orbit for the code it needs, and understands it faster with fewer tokens.

    Learn more in the docs →

Connect it3 videos · 1:14

  1. 23

    Orbit by chat

    0:24

    On Telegram: a task that stops sends you a message, and you answer with the same commands as the terminal.

    Learn more in the docs →
  2. 24

    A task from an issue link

    0:23

    Paste a Linear, Jira, GitHub or GitLab issue link and the form takes its id. Set that tracker's key (LINEAR_API_KEY, JIRA_API_KEY, GITHUB_API_KEY or GITLAB_API_KEY) and it reads the issue's text too.

    Learn more in the docs →
  3. 25

    jev judges each gate

    0:28

    jev is the decision engine that judges each gate: in shadow it writes its verdict and acts on nothing, and with the setting on it acts when it is sure.

    Learn more in the docs →

The web1 video · 0:44

  1. 26

    Orbit in the browser

    0:44

    orbit web shows the same board in a browser: open a task to read its diff, its timeline, its report and where the change went.

    Learn more in the docs →

How to use Orbit

From installing it to running your first tasks.

    01Install

    Orbit runs your coding agents on many tasksOne piece of work: what to do, in which repository, through which flow. at once and shows you what each one did. Install it and open it on your projects.

    Requires

    macOS or Linux, and one coding CLI: Claude Code, Codex, OpenCode, Antigravity or Cline.

    1. Install it.

      curl -fsSL https://getorbit.sh/install | bash
    2. Connect your coding CLI, so you can ask Orbit in plain words.

      orbit mcp install
    3. Open the window over your repositories.

      orbit top ~/code
    4. Write your first task and run it, as Run a task shows.

    What you'll seeEvery git repository under ~/code.

    Note

    Update with orbit upgrade.

    02Concepts

    Seven words the rest of these docs use. Each is underlined where it first appears, with its meaning on hover.

    Task
    One piece of work: what to do, in which repository, through which flow.
    Flow
    The phases a task goes through, in order, from the plan to your review.
    Phase
    One step of a flow, done by one engine: plan, implement, review.
    Gate
    What a phase has to pass before the flow goes on: a test run, a lint, your review.
    Worktree
    A separate checkout of your repository for one task, on a branch of its own. Your checkout is never touched.
    Engine
    The coding agent that does a phase: Claude Code, Codex, OpenCode, Antigravity or Cline.
    Supervisor
    A second agent that reads each finished run against what was asked, and takes your directions.

    03Run a task

    A taskOne piece of work: what to do, in which repository, through which flow. is one piece of work. Orbit runs it in its own worktreeA separate checkout of your repository for one task, on a branch of its own. Your checkout is never touched., a separate checkout of your repo, phaseOne step of a flow, done by one engine: plan, implement, review. by phase.

    1. Write the task: a title, what to do, the repository, the flowThe phases a task goes through, in order, from the plan to your review..

      Ask your coding CLI

      Write a task on payments: the cart total ignores refunds.

      orbit_create_task

    2. Start it. Orbit shows the plan, then runs it.

      Ask your coding CLI

      Start CHK-5.

      orbit_retry_task

    3. It stops where the flow says, usually at your review. Let it go on.

      Ask your coding CLI

      CHK-5 looks good, let it go on.

      orbit_task_continue

    4. Start as many as you like. Each runs in its own worktree and branch.

    5. Export the record of every run.

      Ask your coding CLI

      Export the record to ~/orbit-record.

      orbit_export

    Note

    Nothing reaches your branch until you say so.

    Ten agents at once cost Orbit about 4% of one core.

    04Read what it did

    Every taskOne piece of work: what to do, in which repository, through which flow. sits in one of four bands: To do, Running, Needs you, Done. Open one to see what it did.

    1. Open a task to see what it did.

      Ask your coding CLI

      What did CHK-4 do?

      orbit_inspect_task

    2. Read its tabs: the diff, the review, the timeline, the cost and more.

      Ask your coding CLI

      Show me what CHK-4 changed.

      orbit_task_diff

    3. Copy lines from the checkout the task left, or a file's patch.

      The MCP does not do this yet.

    4. Open the task in your own coding CLI, already told the task. When you quit, the session goes into the task's notes.

      The MCP does not do this yet.

    5. See the whole board.

      Ask your coding CLI

      What needs me?

      orbit_get_board_summary

    6. Work in another repository too: the task's id, then the repository's name.

      Ask your coding CLI

      Have CHK-4 work in ledger too.

      orbit_task_join

    Note

    Needs you: stopped for a review, a failed check or a pause.

    m lists everything you can do to the task under the cursor.

    05Ship the change

    A finished taskOne piece of work: what to do, in which repository, through which flow. becomes a pull request, and you follow it from the board.

    Requires

    The GitHub CLI, gh, signed in.

    1. Push the task's branch and open its pull request.

      The MCP does not do this yet.

    2. Bring the branch up to date with its base.

      Ask your coding CLI

      Bring CHK-4's branch up to date.

      orbit_pr_update

    3. Send an agent to fix the failing checks.

      Ask your coding CLI

      Make CHK-4's checks pass.

      orbit_pr_checks

    4. Send one to answer the review comments.

      Ask your coding CLI

      Answer the review comments on CHK-4.

      orbit_pr_resolve

    5. Merge it.

      The MCP does not do this yet.

    Note

    In the window, each key acts on the task under the cursor, on the board or inside the task.

    Careful

    A pull request, its updates and its merge reach GitHub: other people see them.

    06Flows

    A flowThe phases a task goes through, in order, from the plan to your review. is the list of phasesOne step of a flow, done by one engine: plan, implement, review. a taskOne piece of work: what to do, in which repository, through which flow. goes through, each with its own engineThe coding agent that does a phase: Claude Code, Codex, OpenCode, Antigravity or Cline., model and permissions.

    1. See every flow, phase by phase.

      Ask your coding CLI

      Which flows can I use?

      orbit_list_flows

    2. Write your own, or describe it in one sentence and Orbit drafts the phases.

      Ask your coding CLI

      Make a flow like careful, with a security review before the pull request.

      orbit_save_flow

    3. Pick the engine and model for each phase.

      Ask your coding CLI

      In my flow, run the review on codex.

      orbit_save_flow

    Note

    Five flows ship built in.

    07Engines

    Pick the engineThe coding agent that does a phase: Claude Code, Codex, OpenCode, Antigravity or Cline. and model for each phaseOne step of a flow, done by one engine: plan, implement, review..

    1. See which engines you have.

      Ask your coding CLI

      Which engines can Orbit run here?

      orbit_engines

    2. Set the default.

      Ask your coding CLI

      Make codex the default engine.

      orbit_settings_set

    3. Out of tokens? Go on with another engine, from the step it stopped at.

      The MCP does not do this yet.

    4. Context full? Go on in a clean session.

      Ask your coding CLI

      Compact CHK-4's session.

      orbit_compact

    5. See what each agent costs your machine, and kill one that hangs.

      Ask your coding CLI

      What is each agent costing the machine?

      orbit_board_meter

    Note

    Cost per phase is on the cost tab, and Q shows what is left.

    08Find code

    Orbit indexes each taskOne piece of work: what to do, in which repository, through which flow.'s code. The agent asks it for what it needs instead of opening file after file.

    1. Ask what the agent asks: the code those words are about, every function whole.

      Ask your coding CLI

      Find the refund code in CHK-4.

      orbit_task_find

    2. Bring the index up to date.

      Ask your coding CLI

      Bring CHK-4's code index up to date.

      orbit_task_index

    Note

    Nothing to set up: every phase is taught to ask, through the tool orbit_task_find.

    09Autopilot and the supervisor

    Autopilot works the queue, and the supervisorA second agent that reads each finished run against what was asked, and takes your directions. checks each finished run.

    1. Turn autopilot on.

      Ask your coding CLI

      Turn autopilot on.

      orbit_settings_set

    2. Tell the supervisor what to watch.

      Ask your coding CLI

      Tell the supervisor: never touch migrations/ without asking me.

      orbit_supervisor_say

    3. Cap what one taskOne piece of work: what to do, in which repository, through which flow. may spend: the guard stops it at $3.

      Ask your coding CLI

      Cap what each task may spend at $3.

      orbit_settings_set

    Note

    It never overrides your pause or a critical task.

    The guard stops a call that hangs or loops, and says why.

    10Rules

    Rules about your code reach every phaseOne step of a flow, done by one engine: plan, implement, review.'s prompt. Orbit learns them from you, your docs, your history and your checks.

    1. See every rule, pending ones first.

      Ask your coding CLI

      What does Orbit know about payments?

      orbit_knowledge

    2. Keep a sentence as a rule, and every phase is told it.

      Ask your coding CLI

      Keep the first rule in the tray.

      orbit_rules_keep

    3. Narrow it to a repository or a folder.

      Ask your coding CLI

      Keep it only for migrations/.

      orbit_rules_keep

    4. Give it a check, and it blocks work that fails it.

      Ask your coding CLI

      Make it block work that fails make check.

      orbit_rules_keep

    Note

    Each rule keeps where it came from. Pause one that gets in your way.

    11Connect it

    Telegram, your issue trackers, jev and your coding CLI.

    1. Telegram: export your @BotFather bot's token.

      export ORBIT_TELEGRAM_TOKEN=…
    2. Start the chat. It answers with your chat id.

      orbit chat -on telegram
    3. Save the id it answered with, the number in place of 7912204269. Only that account can give orders.

      orbit settings set chat-id 7912204269
    4. Linear: paste an issue URL in the new-taskOne piece of work: what to do, in which repository, through which flow. form (N). The key brings its text.

      export LINEAR_API_KEY=…
    5. Jira, GitHub, GitLab: the same, each with its own key. Jira also takes its host, and on atlassian.net your email. Put yours in place of the samples.

      export GITHUB_API_KEY=… GITLAB_API_KEY=… JIRA_API_KEY=… JIRA_HOST=acme.atlassian.net JIRA_EMAIL=you@acme.com
    6. jev: record its verdicts, acting on nothing. Needs TYPESAFE_API_KEY.

      orbit settings set decisions shadow
    Note

    In Telegram, anything irreversible asks for /yes.

    A link that is not an issue is refused, with the shape an issue link takes.

    Orbit reads issues and never writes to your tracker.

    12The web

    The same board in your browser, on your machine only.

    1. Start it.

      orbit web
    2. Or press o on a taskOne piece of work: what to do, in which repository, through which flow..

    What you'll seehttp://127.0.0.1:7777, with the same bands, tabs and keys.

    Note

    The review tab maps the change down to the query.

    The browser reads and opens tasks. To enter a session, it gives you the command to run in a terminal.

    13Keys

    Small letters act on the taskOne piece of work: what to do, in which repository, through which flow.. Capitals open a screen.

    Note

    ? lists every key, m what applies here, : takes a command.

    D and the pull request keys are capitals that act on the task.

    Moving around

    ↑
    Up
    ↓
    Down
    g
    First
    G
    Last
    PgUp
    Page up
    PgDn
    Page down
    ⏎
    Open
    esc
    Back
    tab
    Next tab
    ⇧tab
    Previous tab
    ←→
    Scroll sideways
    @
    Which repository

    Starting work

    n
    Start a run
    N
    Write a task
    m
    Task menu
    M
    Board menu

    The task in front of you

    p
    Pause
    r
    Resume
    s
    Skip this phase
    ctrl+K
    Compact
    ctrl+R
    Run the failed phase again
    x
    Cancel
    b
    Back to to do
    t
    Take the keyboard
    h
    Hand it back
    ctrl+O
    Watch the phase
    a
    Ask
    d
    Mark read
    D
    Delete
    o
    Open in the web

    Screens and switches

    /
    Filter
    :
    Commands
    c
    Interactive CLI
    !
    Shell
    R
    Repositories
    F
    Flows
    K
    What orbit knows
    E
    Engine & model knobs
    Q
    Quota
    S
    Supervisor
    A
    Autopilot
    %
    Memory and CPU
    ctrl+T
    Kill a stray process
    L
    Language
    ?
    Help
    q
    Quit

    Taking text out

    ctrl+S
    Select text with the mouse
    ctrl+Y
    Copy what is under the pointer

    The pull request

    P
    Create PR
    U
    Update PR
    J
    Merge PR
    X
    Close PR
    C
    Fix checks
    T
    More tests
    O
    Resolve comments
    V
    Deep review

    14What Orbit counts

    How many machines run Orbit, and on which version. Nothing about you or your code.

    1. Turn it off. DO_NOT_TRACK=1 works too.

      export ORBIT_NO_TELEMETRY=1
    Note

    Sent once when it installs, then at most once a day: a random id made on your machine, the version, the system and the processor.

    No name, email, repository, path, task or prompt. The server keeps no address.

    The id is in ~/.orbit/telemetry-id. Delete it to start over as a new machine.

    What's new

    Newest first.