[ReevesAgents is free and open source under the Apache-2.0 license]
[GitHub stars]
[npm version]
[monthly npm downloads]
[total npm downloads]
[node]
[license]
[free and open source]
[CI]
ReevesAgents is free and open source under the Apache-2.0 license.
Demo ·
Docs ·
FAQ ·
Issues
[Claude Code]
[Codex CLI]
[Gemini CLI]
[GitHub Copilot CLI]
[Cursor CLI]
[OpenCode]
[Kimi Code]
[Aider]
25+ coding CLIs, one workspace.
English · Deutsch · Français · Español · Português · Italiano · Türkçe · Русский · 简体中文 · العربية
ReevesAgents is a local workspace for AI coding CLIs. It runs Claude Code,
Codex, OpenCode, Hermes, Kimi, DeepSeek, Qwen, Pi, Aider, Gemini CLI, Cline CLI,
Crush, Goose, Kilo Code, Letta Code, Mistral Vibe, Grok Build, Kiro CLI,
Factory Droid, Qoder CLI, Warp, Junie CLI, GitHub Copilot CLI, Cursor CLI,
Rovo Dev CLI, and other provider CLIs side by side in tmux. You can use it as a
normal CLI/TUI/Web UI, or attach its opt-in MCP so one agent can spawn, read,
steer, and stop the rest.
Provider logins stay inside each provider CLI. ReevesAgents keeps its own state
as a few plain JSON files under ~/.reeves, and it runs only while you or an
attached CLI are using it.
[A gold-framed lead pane joined by fine gold threads to eight glowing glass panes, one for each tool in a run]
Quick Start
Start a run from the CLI:
Open the Web UI:
Let one attached agent drive the others:
Restart that CLI after attach so it loads the MCP tools.
Windows
Native Windows 10 1809+ needs no WSL: reevesagents ships a built-in, tmux-compatible
multiplexer (winmux) that runs panes over ConPTY. Agents keep running after you close
the UI because winmux runs as a background server, just like tmux. When you attach in
the TUI or CLI, the usual prefix keys work: Ctrl-b d to detach, Ctrl-b n / p to move
between agent windows, Ctrl-b 0-9 to jump to a window.
What It Gives You
ReevesAgents is local by design. State is plain JSON under ~/.reeves, and the
CLIs it starts are the same CLIs you already use by hand.
Tools
Four tools sit next to the coding CLIs. Perplexity CLI searches the web,
Google Colab CLI runs scripts and notebooks on CPU, GPU and TPU runtimes,
Hugging Face CLI downloads and uploads models and datasets and runs jobs on the
Hub, and Ollama runs local or cloud models from the terminal. Agents call them
from their own shell.
reevesagents tools lists the four with a purpose, an example command, and
whether each is installed and signed in (for Ollama: reachable). Add --json
for scripts. An agent with the MCP attached gets the same list from
list_tools.
Install
ReevesAgents needs Node.js 22.12+, tmux 3.0+, and at least one supported
provider CLI installed and authenticated. It supports macOS, Linux, and WSL.
Pin a version by replacing <version>:
Source install:
Screenshots
The TUI and Web UI drive the same local runs:
[ReevesAgents Web UI: runs and live agent panes]
[ReevesAgents Web UI: starting a new run]
Commands
No arguments launches the TUI.
Common flags:
--json: available on script-facing list and action commands.
--name <name>: name a run.
--cwd <dir>: run agents from a directory.
--prompt <text>: paste startup text into each spawned agent.
--skip: skip provider permission prompts for unattended workers.
--run <run-id>: add agents to a specific run.
--port <n> and --no-open: Web UI startup options.
Agent Control
Agent Control is an optional MCP server. Attach it only to a CLI you trust to
drive local tools:
After restart, that CLI receives tools to spawn, read, send_text,
send_key, interrupt, kill, stop, manage approvals, manage presets, and
inspect hosts. The provider catalog is also exposed as reevesagents://providers.
In Claude Code you can install the connection and its operating instructions together as a plugin:
The server is listed in the official MCP Registry as io.github.mertkayacs/reevesagents.
[A gold-framed lead pane sending messages along gold threads to three other panes]
Workers do not receive the MCP by default. If a worker should create its own
workers, attach ReevesAgents to that worker's CLI explicitly.
Codex sandboxes MCP calls by default, which blocks tmux launches. When using
Codex as the host that drives agents, run it with full access, for example
codex --sandbox danger-full-access, or use a Codex profile that sets
sandbox_mode = "danger-full-access".
Full tool reference: docs/mcp.md. Agent-facing operator guide:
AGENTS.md.
Configuration
State lives under ~/.reeves:
Two environment variables override the default paths:
REEVES_REGISTRY: state root override for runs/, history/, and presets/.
REEVES_CONFIG: config file path override.
In the Web UI, open Config and choose Web theme → Light or Dark, then
save. The choice is stored in config.json and also applies to the embedded
terminal. The default is Dark. From the CLI, use reevesagents config web_theme light.
One registry per tmux server: the background orphan sweep judges session
ownership against the current registry, so two registries must not share one
tmux server.
Agent tasks, task notes, inbox messages and approval text are redacted for known token patterns before their state files are written.
Examples
Spread one project across multiple CLIs:
Watch one agent and then open its window:
Stop the run when the work is done:
Web UI
The Web UI binds to 127.0.0.1 only and runs in the foreground. Agents keep
running after the page closes because they live in tmux.
The Web UI uses optional runtime modules, ws and @lydell/node-pty. npm
installs them by default. CLI and TUI commands keep working without them, and
reevesagents web explains what is missing.
To reach it from another machine, forward the loopback port over SSH:
Troubleshooting
tmux is not installed. Install tmux and run reevesagents doctor. The TUI
auto-wraps itself in a tmux session named reeves; set
REEVES_NO_TMUX_WRAPPER=1 to skip that behavior.
A provider CLI is missing or signed out. ReevesAgents launches provider CLIs
that are already on PATH and authenticated. reevesagents doctor shows what
is detected. If a launched window is waiting at login, peek shows it.
The Web UI reports missing packages. Reinstall with optional dependencies
enabled, then run reevesagents doctor.
Port already in use. reevesagents web starts at 8080 by default. If it is
taken, the server binds the next free port in a small range and prints the URL.
Contributing
Contributor docs live under docs/. Start with
CONTRIBUTING.md, testing, and
releasing.
End users do not need the development toolchain. Contributors use pnpm,
TypeScript, tsup, Vitest, and ESLint from the repository.
Cite this
Links
[Eschatia Labs]
An Eschatia Labs project by Mert Kaya.