---
title: Chord
description: Calm AI coding in your terminal — a lightweight, local-first coding agent with reliable long sessions, hot-swappable model setups, and remote operation.
template: splash
hero:
  tagline: 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.
  actions:
    - text: Quickstart
      link: /chord/quickstart/
      icon: right-arrow
      variant: primary
    - text: GitHub
      link: https://github.com/keakon/chord
      icon: external
      variant: minimal
---

import { Card, CardGrid } from '@astrojs/starlight/components';

## Why Chord

<CardGrid>
  <Card title="Stable for the long haul" icon="document">
    Chord can summarize earlier turns before a long conversation gets too large
    for the model, while preserving the information needed to continue.
  </Card>
  <Card title="You see the network state" icon="rocket">
    Precise request status and elapsed wait time during model calls. Never
    wonder if it's stuck again.
  </Card>
  <Card title="Keyboard-first, Vim-style" icon="seti:vim">
    Insert / Normal modes, message search, full Vim-flavoured navigation,
    automatic input-method switching. Quitting takes two taps.
  </Card>
  <Card title="Hot-swap model setups" icon="random">
    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.
  </Card>
  <Card title="Extremely lightweight" icon="seti:powershell">
    Low memory and CPU footprint. macOS power-aware: prevents idle sleep
    while work is active, lets the system sleep again when idle.
  </Card>
  <Card title="Drive it remotely" icon="external">
    `chord headless` exposes a stdio JSON control plane; pair with
    [chord-gateway](https://github.com/keakon/chord-gateway) to operate Chord
    from any chat surface — even from your phone when you are away.
  </Card>
  <Card title="Import existing sessions" icon="import">
    Migrate from Claude Code, Codex, or OpenCode with a single command.
    Import turns and tool history are converted automatically — resume
    where you left off without losing context.
  </Card>
</CardGrid>

## Three-step setup

<CardGrid>
  <Card title="1. Install" icon="seti:go">
    If you already have Go 1.26+ installed:

    ```bash
    go install github.com/keakon/chord/cmd/chord@latest
    ```

    If not, download a prebuilt binary from [GitHub Releases](https://github.com/keakon/chord/releases), extract it, and put `chord` on your `PATH`.
  </Card>
  <Card title="2. Run setup once" icon="seti:lock">
    Run `chord` in an interactive terminal:

    ```bash
    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](/chord/quickstart/).
  </Card>
  <Card title="3. Run from your project" icon="rocket">
    ```bash
    cd my-project
    chord
    ```
    On first run in a project, Chord creates `.chord/` as needed.
  </Card>
</CardGrid>

## Find docs by task

<CardGrid>
  <Card title="Start quickly" icon="rocket">
    Install, initialize a provider, run `chord doctor models`, and send the first task.
    [Open →](/chord/quickstart/)
  </Card>
  <Card title="Configure models" icon="document">
    Provider/auth schema plus copy-paste examples for common setups.
    [Config →](/chord/configuration/) · [Examples →](/chord/examples/)
  </Card>
  <Card title="Remote control" icon="external">
    Use `chord headless` and chord-gateway safely from another surface.
    [Open →](/chord/headless/)
  </Card>
  <Card title="Long tasks" icon="random">
    Use `/loop` and `Done` for multi-step implementation work.
    [Open →](/chord/usage/#loop--continuous-execution-mode)
  </Card>
  <Card title="Extend and customize" icon="setting">
    Agents, skills, MCP, hooks, and custom slash commands.
    [Customize →](/chord/customization/) · [Hooks →](/chord/hooks/)
  </Card>
  <Card title="Troubleshoot" icon="seti:log">
    Startup, auth, model, TUI, context, and integration symptoms.
    [Open →](/chord/troubleshooting/)
  </Card>
</CardGrid>

## Where to next

<CardGrid>
  <Card title="CLI reference" icon="setting">
    Every command, subcommand, and flag — including `chord cleanup`, worktrees, and headless.
    [Open →](/chord/cli/)
  </Card>
  <Card title="Configuration & Auth" icon="document">
    Provider, model pool, LSP, MCP, hooks — full schema in one cheatsheet.
    [Open →](/chord/configuration/)
  </Card>
  <Card title="Examples" icon="seti:yml">
    Copy-paste-ready `config.yaml` for the four most common setups.
    [Open →](/chord/examples/)
  </Card>
  <Card title="Headless integration" icon="external">
    Build bots, gateways, or scripts on top of Chord.
    [Open →](/chord/headless/)
  </Card>
</CardGrid>
