Skip to content

Install & run

C2 isn't published as a binary yet — you run it from source. It's a Cargo workspace plus an Electrobun desktop shell and Bun-built React renderer.

Prerequisites

ToolWhyNotes
Rust (1.82+)builds the core, TUI, server, and desktop sidecarrustup.rs
Zig (0.15.2 exactly)builds the embedded Ghostty terminal engineziglang.org
Bunbuilds the Electrobun shell, renderer, and Tool Brokerbun.sh
gitworktrees, checkpoints, source controlusually already installed
A provider CLIto actually drive an agentat least one of the supported providers below

You also need your platform's native build tools. macOS builds use Xcode's command-line tools; the layered .icon source additionally needs full Xcode.

On macOS, install the pinned Zig version with Homebrew:

sh
brew install [email protected]
brew link --force [email protected]

At least one provider

To run a real turn you need one agent CLI on your PATH:

  • Grokgrok (speaks ACP natively; simplest, no Node needed).
  • Claude Code — Node/npx (C2 launches npx @agentclientprotocol/claude-agent-acp).
  • Codex — Node/npx (npx -y @agentclientprotocol/[email protected]).
  • Cursorcursor-agent.
  • OpenCode 1opencode.
  • OpenCode 2 (Beta)opencode2; V1 and V2 can be installed side by side.
  • Pi — Node/npx (npx -y pi-acp, with pi on your PATH for its own config).
  • Kimikimi (speaks ACP natively).
  • ZCode (GLM) — Node/npx (npx -y glm-acp-agent) plus a Z_AI_API_KEY.
  • Amp — Node/npx (npx -y amp-acp, with amp on your PATH).
  • Droiddroid (speaks ACP natively).

C2 shows a health dot per provider so you can tell what's available. See Providers.

Clone & test the core

sh
git clone https://github.com/IchenDEV/codeTwo
cd codeTwo

# Build + run the offline test suite (uses a mock ACP agent, real git, real pty)
cargo test -p codetwo-core -p codetwo-tui -p codetwo-server

Run the desktop app

sh
cd apps/desktop
bun install --frozen-lockfile
bun run dev              # builds the renderer + Rust sidecar and opens Electrobun

Run the TUI

sh
cargo run -p codetwo-tui

Run remote control

sh
cargo run -p codetwo-server   # prints a pairing URL + token + QR

See Remote control.

Try it without a provider

Curious how a turn flows before installing a CLI? There's a self-contained demo that spawns a tiny stub agent (needs node) and drives a full turn:

sh
cargo run -p codetwo-core --example live_demo

Next: Your first session.

Apache-2.0 licensed.