Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

487 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Runner
Runner

Spawn a runner. Create your crew. Ship the feature.
A local agentic development environment (ADE) — orchestrate crews of CLI coding agents: Claude Code, Codex, Qoder, and friends.

About · Features · Runtimes · MCP · Crew example · Download · Documentation · Contributing


Status: alpha, actively shipping.


About

Runner is a local desktop workspace for operating multiple CLI coding agents at once. Instead of scattering Claude Code, Codex, and Qoder sessions across terminal windows, you run them as an organized fleet — configured runners, composed crews, coordinated missions — from a single app.

Runner is an agentic development environment (ADE). Where an IDE organizes buffers and a debugger around the code you write, an ADE organizes terminals, crews, and event feeds around the agents writing it. The operator's job shifts accordingly: assign roles, start missions, monitor progress, review diffs, and make the calls agents escalate to you.

The coordination model is explicit. A runner is a reusable agent configuration — runtime, role, system prompt, working directory. A crew composes runners with exactly one lead. Starting a mission spawns one real PTY per slot into a tabbed workspace where the crew coordinates over an append-only event log: handoffs and status flow between agents, and when a decision needs a human, ask_human surfaces it in the feed. Everything runs and persists locally — sessions are real processes on your machine, and the log is on-disk and replayable.

Runner also runs as an MCP server: any MCP client — including the agents themselves — can create crews, start missions, and steer them programmatically. See Drive it from your agents.

Supported agent runtimes

Runner currently ships first-class adapters for four CLI coding agents:

Runtime Default command Notes
Claude Code claude Direct chats, crews, conversation resume, permission modes, and MCP registration.
Codex codex Direct chats, crews, conversation resume, model effort, permission modes, and MCP registration.
Qoder qodercli Direct chats, crews, conversation resume, permission modes, and MCP registration.
TRAE CLI traecli Internal-edition runtime; activates when traecli is available on PATH. Supports chats, crews, resume, model effort, permission modes, and MCP registration.

Runner does not bundle these agent CLIs. Install and authenticate each runtime separately; Runner detects its default command from PATH, and Settings → Agents lets you override the executable path.

Download

Latest macOS build (Apple Silicon + Intel .dmg) on the releases page.

Features

Crew editor — slots, prompts, team conventions, one lead

Crews — roles, prompts, one lead

A runner is a reusable agent configuration: runtime, role, system prompt, working directory. A crew composes runners into named slots with exactly one lead, plus team conventions and a definition of done that every mission inherits.

Mission workspace — the event feed between crew and human

Missions — a crew working one goal

Starting a mission spawns one live PTY per slot into a tabbed workspace where the crew coordinates over an append-only event log — every signal is persisted and replayable, so missions survive a quit or crash, and ask_human questions surface in the feed.

Architecture →

Chat tab with a Claude Code and a Codex pane side by side, and the project-grouped sidebar

Chats — tabs, split panes, projects

Every chat is a real 1:1 PTY with a runner, no mission required. Tabs hold up to three side-by-side panes — run Claude Code, Codex, and Qoder on the same problem in one view. The sidebar groups chats and missions into cwd-bound projects; every tab shows a spinner while a pane is still working and a dot when one finished while you were elsewhere, so a wall of parallel agents stays scannable.

Per-slot PTY terminal, live

A real terminal

xterm.js on a WebGL canvas — claude-code, codex, qoder, and any modern TUI render with their actual ANSI palette, mouse tracking, and live redraws. Sessions are resumable across app restarts; the event log is the source of truth.

Two Runner windows working different chats side by side

Multi-window

⌘N opens additional OS windows — a mission on one screen, a wall of chats on the other. Windows coordinate ownership of shared sessions: the primary owns the PTY, and any other window showing the same session gets a hand-off overlay instead of a corrupted terminal.

Settings → MCP — one-click config for Claude Code, Codex, and Qoder

Drive it from your agents (MCP)

Everything above is also an MCP tool. Runner bundles a runner-mcp stdio sidecar, and Settings → MCP registers it with Claude Code, Codex, or Qoder in one click. Connected agents assemble crews, start and steer missions (mission_start, mission_feed, mission_post_human_signal), and spin up chats (session_start_direct). The compounding trick: your daily driver agent plans a fix, dispatches a coder/reviewer crew, and keeps working — agents dispatching crews of agents, every session still a real PTY you can open and watch.

Also in the box

  • Projects — bind a working directory once; chats and missions started inside a project inherit its cwd and stay grouped in their own sidebar section.
  • Themes — Auto / Light / Dark chrome with two variants per side (Runner and Catppuccin Mocha dark; Codex Light and Catppuccin Latte light), independent terminal palettes, and a bundled offline font picker.
  • Bundled runner CLI — spawned agents message each other, check the crew roster, and post signals from inside their own PTYs.

Example crew

The default Runner shape — a three-runner engineering party where one decomposes, one builds, one audits. Lives in examples/dev-crew/ — drop the system prompts into a new Crew, hand it a goal, and the three tabs work the problem in one window.

Runner Runtime Role System prompt
@architect (lead) claude-code Reads the goal, decomposes into tasks, dispatches the rest. Stays out of the editor. architect.md
@impl claude-code Picks up tasks, writes the code, runs the tests. impl.md
@reviewer codex Reads the diff, finds regressions and missing edge cases, reports back. reviewer.md

More crews

For weirder, more fun crew shapes, peek at examples/:

  • dev-crew/ — the default architect / impl / reviewer trio above
  • peer-coding/ — the tightest loop that still has a second pair of eyes: a coder ships one task on a feature branch, a reviewer audits the working-tree diff over the Runner CLI until clean
  • docs-crew/ — architect partitions a complex repo, 2+ writers draft per-module docs in parallel, editor harmonizes
  • tic-tac-toe/ — 2 agents + 1 referee actually playing a game against each other
  • tomb-raid/ — a 4-person heist crew run by a DM

Each is a copy-pasteable handle + system-prompt set you can spawn into a new Crew and hit Start.

Documentation

Architecture, runtime contracts, product vision, and per-feature specs live in docs/ — start with docs/arch/arch.md for the wire-level overview, or docs/product/vision.md for the product direction.

For dev setup, prereqs, and contributor conventions see AGENTS.md.

License

MIT

About

An editor for teams of local coding agents (Claude Code, Codex, and friends)

Resources

Stars

66 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages