Intro

Understand OpenABCode, install it, configure providers, and start a local-first coding session.

What OpenABCode is

OpenABCode is an open-source AI coding agent. It is available as a terminal-based interface and keeps local coding work inside your workspace.

Its main feature is model routing: every normal CLI or TUI session uses the routed runtime by default, scores available provider/model candidates, and selects the best route for the coding turn.

The client owns workspace tools, file edits, permissions, and session history. Provider calls can use your own credentials or the OpenABCode hosted gateway.

Prerequisites

To use OpenABCode in your terminal, you need a modern terminal emulator and access to the LLM providers you want to use.

  • A modern terminal such as WezTerm, Alacritty, Ghostty, Kitty, or the built-in terminal in your editor.
  • API keys for BYOK providers, or a OpenABCode hosted API key for prepaid hosted mode.

Install

The easiest way to install OpenABCode is through the install script.

curl -fsSL https://openabcode.com/install | bash

Package managers

You can also install OpenABCode with a JavaScript package manager once the public package channel is available.

npm install -g openabcode
bun install -g openabcode
pnpm install -g openabcode
yarn global add openabcode

Homebrew

On macOS and Linux, use the OpenABCode tap when Homebrew distribution is available.

brew install matrixmapai/tap/openabcode

Configure

OpenABCode uses the same model selection vocabulary as opencode: list models, then choose one with provider/model. Routing is enabled by default for both the CLI and TUI, so normal openabcode commands already use the routing layer.

openabcode auth login
openabcode models
openabcode run -m anthropic/claude-haiku-4-5 "review this change"

Use the TUI

Run openabcode with no command to open the interactive terminal UI for the current directory. Pass a path when you want to start in another project.

openabcode
openabcode /path/to/project

Use the CLI

Use openabcode run for one-shot prompts, scripts, CI jobs, or quick repository questions. It uses the same routing runtime as the TUI.

openabcode run "explain this package"
openabcode run -m google/gemini-3.5-flash "summarize this module"

Use BYOK or hosted

BYOK means provider calls go directly to your provider account. Hosted mode uses OpenABCode prepaid credits and appears as the openabcode provider when OPENABCODE_API_KEY is configured.

openabcode auth login
openabcode models anthropic

OPENABCODE_API_KEY=ck_...
openabcode models openabcode

Check routing

Use doctor before a real session to confirm credentials, hosted mode, and routing readiness. Disable routing only when comparing against legacy opencode model resolution.

openabcode doctor
openabcode doctor --json

OPENABCODE_RUNTIME=0 openabcode

Initialize

Run OpenABCode from the project directory. The TUI and non-interactive runner both use the current workspace as the local execution boundary.