Getting started

Install

Abhed is a single static binary with no runtime to install.

go build -o ~/.local/bin/abhed ./cmd/abhed
abhed -version

Point it at a model

Abhed does not ship a model. It needs an endpoint, and the fastest one to get running is a local server:

ollama serve
ollama pull qwen3-coder:30b

Then, in the directory you want the agent to work in:

abhed init      # writes .abhed/config.json
abhed doctor    # check the endpoint before you rely on it

abhed doctor is worth the ten seconds. It checks that the endpoint answers, and that the model can emit a structured tool call — a model that describes a tool call in prose instead of emitting one cannot drive an agent at all, however well it writes, and finding that out during a real task wastes the run.

checking endpoint... ok
checking tool calling... ok
  called glob with {"pattern":"*.go"}

Ready.

First run

abhed

Type a task. Abhed reads code, runs commands, edits files, and asks before anything it is not permitted to do unattended.

⬢ the tests in pkg/auth are failing — find out why and fix it

While it works, you can keep typing. A line sent mid-run steers it at the next step rather than interrupting, so the files it has already read and the results it has already gathered are kept:

⬢ actually, only look at token.go
  steering — applied at the next step

A slash command typed mid-run is queued and runs when the turn finishes.

The prompt

Arrow keys move and recall history; Home, End, Ctrl-A, Ctrl-E, Ctrl-U, Ctrl-K and Ctrl-W do what they do in a shell. Ctrl-C interrupts the task without ending the session; Ctrl-D exits.

Command
/helplist commands
/mode <name>default, accept-edits, plan, auto
/diffwhat changed this session
/undorevert the last turn's file changes
/costtokens, cache hit rate, compactions
/compactcompact the context now
/treethe session's steps
/fork <step>rebuild the conversation up to a step and continue from there
/export [path]write the transcript, HTML by default
/model [name]show or switch the model, keeping the conversation

Without a terminal

abhed -p "explain what pkg/auth does" -mode plan
abhed -p "fix the failing tests" -mode auto -allow 'bash(go test*)'
abhed -p "add a test for Valid" -output-format json > events.jsonl

Exit codes: 0 completed · 2 turn limit · 3 budget · 4 policy denied · 5 retries exhausted · 130 interrupted.

Next