Skip to content

Chord

Calm AI coding in your terminal — stable long sessions, model setups you can swap at runtime, and remote operation when you cannot be at the keyboard.
Chord terminal UI screenshot

1. Install

Prebuilt binaries do not require Go. If you already have Go 1.26.3+ installed:

Terminal window
go install github.com/keakon/chord/cmd/chord@latest

If not, download a prebuilt binary from GitHub Releases, extract it, and put chord on your PATH.

2. Run setup once

Run chord in an interactive terminal:

Terminal window
chord

If config.yaml is missing, Chord launches a one-time setup wizard. The wizard creates the minimal config.yaml and, when needed, auth.yaml.

Prefer to write YAML manually or need a different provider/model setup? See Quickstart.

3. Run from your project

Terminal window
cd my-project
chord

On first run in a project, Chord creates .chord/ as needed.

Start quickly

Install, initialize a provider, run chord doctor models, and send the first task. Open →

Remote control

Use chord headless and chord-gateway safely from another surface. Open →

Long tasks

Use /loop and Done for multi-step implementation work. Open →

Troubleshoot

Startup, auth, model, TUI, context, and integration symptoms. Open →

Long sessions use less context

Chord trims stale tool output at request time, keeps typed summaries for large results, and compacts earlier turns before context pressure breaks the flow.

Stays out of the way

Loads sessions with thousands of messages almost instantly, exits without a shutdown wait, keeps memory low, and unloads idle LSP/MCP resources.

You see the network state

Precise request status and elapsed wait time during model calls. Never wonder if it’s stuck again.

Hot-swap model setups

Group models into reusable pools (fast, thinking, cheap) and switch them at runtime via /models or Ctrl+P. The runtime falls back through the ordered list automatically.

Keyboard-first, Vim-style

Built for keyboard-heavy workflows: Insert / Normal modes, Vim-flavoured navigation, and message search.

Project context

LSP diagnostics, definition/reference/implementation lookups, Git status, and @ file completion.

Images and PDFs

Paste images, attach image/PDF files when supported, preview images in supported terminals, and use view_image for local PNG/JPEG files.

Remote control

chord headless exposes a stdio JSON control plane; pair with chord-gateway to operate Chord from chat surfaces.

Import existing sessions

Migrate Claude Code, Codex, and OpenCode sessions into resumable Chord sessions.

These measurements are scenario-specific proof points, not universal guarantees. They show where Chord’s context trimming, low-overhead TUI, and predictable shutdown behavior matter most.

We benchmarked Chord v0.6.3 against Codex-CLI v0.136.0 on a real-world database system task: implementing durability wait APIs in Pebble. Far from simple CRUD, the task requires understanding commit/WAL sync and concurrency semantics, reasoning across write paths, event listeners, and DB lifecycle subsystems.

Metric Chord v0.6.3 Codex-CLI v0.136.0 Improvement
Time 46m21s 61m18s 24% faster
LLM calls 93 118 21% fewer
Input tokens 6.86M 18.47M 63% fewer
Output tokens 25K 74K 66% fewer
Cache read tokens 6.55M 17.64M 63% fewer
Cost $5.58 $15.15 63% cheaper

Notes:

  • Both runs used GPT-5.5 (xhigh).
  • Time excludes environment setup and final wrap-up, but includes model interaction, code changes, and test execution.
  • The task’s reference solution spans 8 files and 670 changed lines; actual model output may be larger or smaller depending on tests, comments, and implementation choices.

We also measured the interactive app shell: time from launch to accepting input, normal exit time, and memory with an empty session and after loading 200 messages.

App Startup to input Normal exit Empty session memory 200-message memory
Chord v0.6.3 <1s <1s 31.6MB ~40MB
Codex-CLI v0.136.0 <1s ~20s 35.8MB ~80MB
Claude Code v2.1.163 32s ~2s 156.3MB >300MB

Notes:

  • Codex-CLI waits for shutdown wrap-up and exits after about a 20-second timeout.
  • Claude Code waits on startup and becomes ready for input after about a 30-second timeout.
  • Memory use varies by session content and environment, so these numbers are only estimates for this measured scenario.

CLI reference

Every command, subcommand, and flag — including chord cleanup, worktrees, and headless. Open →

Configuration & Auth

Provider, model pool, LSP, MCP, hooks — full schema in one cheatsheet. Open →

Examples

Copy-paste-ready config.yaml for the four most common setups. Open →

Headless integration

Build bots, gateways, or scripts on top of Chord. Open →