OctoAI
Octo · the desktop app for AI coding agentswindows · linux · macos

all your agents. one window.

Claude Code, Codex, OpenCode, Kilo, Antigravity, Grok, Qwen Code and Kimi Code side by side, across all your projects. Octo shows who's working, who's done and who's waiting for you, and takes you straight there with a single key.

  • native desktop app
  • agents outlive the window
  • self-updating
  • free
The Octo board: sessions and plan usage on the left, and the agents of the session in four columns, needs you, working, done and idle.
the boardevery agent of the session by status, with time, project and what each one is doing

works with

claude codecodexkiloopencodeantigravitygrok buildqwen codekimi code

and your terminalpowershellbashzshwindowslinuxmacos

the problem01

which one is waiting for you?

‖1 ✔2 · Octo
acme/web › 2
1 ✔checkout-redesignclaudeRunning design update and committing changes
2▸‖payment-testscodexwaiting for you · Run the migrations now?
acme/mobile › 1
3 ⠋simulator-buildsclaudeBuilding and launching both apps in simulators
studio/game › 2
4 ⠋physics-mergeopencodeMerging the new physics engine
5 $localhost-serverterminalnpm run dev
lab/infra › 1
6 ●container-sshagyRetrieving container SSH credentials
octo/app › 2
7 ✔folder-icon-updatekimiFolder icon update
8 ⠋docker-installclaudeInstalling Docker inside the container
payment-tests is waiting for you · alt+n opens it

Ten tabs, six projects. You flip between them to find out who finished, who got stuck and who asked for approval twenty minutes ago.

Octo brings every agent from every project into one window, grouped by folder, with each one's status live. When one of them needs you, it lets you know.

features02

built for running ten agents at once.

02.1

type the task. the agent spawns.

Pick the folder with ctrll and who runs it with tab. Type the task and press enter: the agent starts working on it right away and shows up in the project's group, with its timer and a line saying what it's doing.

02.2

one of them needs you.

When an agent you're not looking at asks for approval or finishes, Octo chimes, shows a notification and the window title counts who's waiting, even with Octo in the background.

02.3

altn and you're there.

Jumps straight to the agent that's been waiting the longest, from any screen, even from inside another agent. Want it on your phone? ctrlp pairs it, end-to-end encrypted, and a notify_command sends the alert through ntfy or wherever you like.

02.4

two agents. one repo.

With ctrlt, each agent spawns in its own git worktree, on the orkai/<name> branch. Multiple agents work on the same repository without stepping on each other. /diff shows what changed; /merge brings it into your branch.

02.5

rebooted your machine?

Each agent runs in its own process, which owns its terminal: closing or updating the interface takes no one down. After a reboot, ctrlr resumes every conversation right where it left off.

02.6

exact status, instantly.

Hooks, plugins and each agent's own protocol tell Octo when it's working, waiting for you or done. No guessing from screen text: a reply that ends with “Would you like to…?” isn't mistaken for a question.

Hooks only record the event type. Your prompts, commands and responses never touch the disk.

⠋working
‖waiting for you
✔done
●idle
$terminal
↻interrupted
✗exited
  1. UserPromptSubmitworking
  2. PreToolUse · Bashworking
  3. PermissionRequestwaiting for you
  4. Stopdone
02.7

plan usage at a glance.

The 5-hour, weekly and monthly windows (or the balance) of every agent you're logged into, with a countdown to the reset. Green, yellow from 70%, red from 90%. Agents you're not logged into don't show up.

usage · updated 34s ago
claude5h━━━━━━━─────62%resets 2h14m
week━━━─────────23%resets 4d05h
codex5h━───────────12%resets 3h41m
week━━━━━━━━━───76%resets 58h00m
kimi5h━━━━━━━━━━━─93%resets 48m00s
  • skills on /

    Each agent's skills and commands show up in autocomplete. /skill args starts an agent that invokes the skill right away.

  • subagents in view

    The subagents that Claude Code and Codex spawn show up right below their agent, with their description and the tool in use.

  • !command

    !npm run dev runs the command in a new terminal, without changing who runs your next tasks.

  • terminals that become agents

    Ran claude inside a terminal? Within 2 seconds it shows up in the overview with its type, status and subagents.

  • remote control

    Every Claude Code session started by Octo opens with Remote Control on: pick it up in the Claude app or at claude.ai/code.

  • self-updating

    Every new build is verified by size and SHA-256 before it replaces the executable. Running agents aren't affected.

supported agents03

eight agents and your shell. one window.

Octo never touches any of your config files. Hooks, plugins and environment variables apply only to the process it launched, and add to your own.

whoAgentProgramExact statusUsage in overviewResume after reboot
claudeClaude Codeclaudehooks (--settings)5h and weekly--resume <id>
codexCodexcodexnotify5h and weeklycodex resume <id>
kiloKilo CLIkiloevent pluginbalance (funds) and Kilo Pass--session <id>
opencodeOpenCodeopencodeevent pluginOpenCode Go (5h and weekly)--session <id>
agyAntigravity CLI (successor to Gemini CLI)agyOSC 75015h and weekly--conversation=<id>
grokGrok Buildgrokwindow titleweekly or monthly--resume=<id>
qwenQwen Codeqwenhooks (system defaults)no usage API--resume <id>
kimiKimi Codekimiscreen5h, weekly or monthly--session <id>
terminalPowerShell, bash…shelloutput activity—reruns the command
how it works04

the interface comes and goes. the agents stay.

Each agent runs inside its own detached holder process, which owns the pseudo-terminal (ConPTY on Windows, PTY on Unix). The interface just connects to them.

  • closed it?

    Closing, restarting or updating Octo takes down no agent. When you open it again, it reconnects to all of them.

  • ↻ reboot?

    Agents show up as interrupted and ctrlr relaunches each one in its folder, resuming the conversation.

  • and the history?

    Every agent's full output is recorded, with rotation, and the orkai CLI prints it with orkai logs <id>.

keyboard05

all from the keyboard.

try it: press enter, tab or altn now

  • enterstarts an agent with the typed task
  • tabpicks who runs it: an agent or the terminal
  • ctrllpicks the project folder
  • ctrltturns on a dedicated worktree for the next agents
  • altnopens the next agent waiting for you
  • ctrl]goes back from the agent's tab to the overview
  • ctrlrrecovers interrupted agents
  • !cmdruns the command in a new terminal
  • /Octo commands and agent skills
also on the command line, with the orkai CLI
orkai ls [-s session]            lists agents with their live state
orkai new -k <agent> -C <folder> starts an agent with a task
orkai send <id> <text...>        types into the agent and presses enter
orkai attach <id>                attaches this terminal to the agent
orkai logs <id> [-n lines]       the agent's recorded transcript
orkai recover [-s session]       relaunches interrupted agents
orkai update                     downloads and installs the newest version
security06

your code, your machine.

  • 127.0.0.1

    Holders listen on localhost only, on a random port.

  • 256 bits

    One token per agent, stored only in your data folder.

  • 0

    of your config files changed. Hooks and plugins apply only to the launched process.

  • SHA-256

    verified, along with the size, on every update before the binary is swapped.

To show usage, Octo reads each agent's login token in memory only and sends it, over HTTPS, solely to the service that issued it. Octo never stores, logs or refreshes it.

download07

download Octo.

One file for your system, with no installer and no admin rights. Octo updates itself to every new version, checked by size and SHA-256, and closing it never stops an agent.

getting started

  1. Open Octo: every agent shows up on the board, by status.
  2. Pick the project folder in where, or with ctrll.
  3. Pick who runs it in who, or with tab.
  4. Type the task and press enter: the agent starts already working on it.
  5. Click a card to open the agent; altn opens the one waiting for you and ctrl] goes back to the board.
important

To use an AI agent, its CLI must be installed and on your PATH: claude, codex, kilo, opencode, agy, grok, qwen or kimi. Octo starts each one in the project folder you pick.

orkai cli · legacy08

rather stay in the terminal? the orkai CLI.

orkai is the terminal app Octo grew out of. It runs the same agents and keeps updating itself, but it is now legacy: new features land in Octo.

live simulation of the orkai CLIagents grouped by project, with status, time and what each one is doing
target=orkai-x86_64-unknown-linux-musl
mkdir -p ~/.local/bin
curl -fL -o ~/.local/bin/orkai "https://github.com/lucasmarujo/octo/releases/latest/download/$target"
chmod +x ~/.local/bin/orkai

If ~/.local/bin isn't on your PATH yet, add export PATH="$HOME/.local/bin:$PATH" to your ~/.bashrc or ~/.zshrc. The binary is static and runs on any distro.

important

To use an AI agent, its CLI must be on your PATH: claude, codex, kilo, opencode, agy, grok, qwen or kimi. Keep orkai in a folder your user can write to: auto-update replaces the executable itself.

in 56 seconds09

the orkai CLI at work.

open Octo.

All your AI agents. One window.