Start
Introduction
Haider is a first-party coding-agent harness: one Rust binary that is the TUI, the headless runtime, and the per-device daemon. Nothing is inferred — everything is declared.
One binary
The same haider executable is the interactive TUI, the headless runtime, and the per-device daemon. There is no sidecar, no wrapper script, no split between the agent and the app — install one binary and you have the whole harness.
Everything is declared
Every piece of interior state — sessions, turns, tool calls, provider accounts, usage — is a typed, evented, queryable contract. Nothing is inferred from logs or scraped from terminal output: consumers read the same declared state the harness itself runs on.
Surfaces
One runtime, several fronts. They all read the same session state:
| Surface | What it is |
|---|---|
| TUI | the terminal client — haider in any shell |
| Desktop ADE | Diff Forge — a graphical environment over the same sessions |
| Voice | talk to running sessions |
| RPC | drive the daemon from your own tools |
Local-first
Code, transcripts, and credentials stay on your machine and never require anyone's cloud. Bring your own provider keys and the harness is fully yours; add Go only if you want hosted models.
Next steps
Install the harness, then read Sessions and The Pipe to understand the model. For hosted models, start at the Go overview.