hax

A minimalist, terminal-native coding agent written in C.

hax answering a question about its own source using a local llama.cpp model

> Lightweight by design

A single native C binary with a small dependency set. Uses a few MBs of memory, so the RAM stays free for your local LLMs.

> Terminal-native presentation

Streaming Markdown formatting and live tool output, reflowed for your terminal. Only the current line redraws โ€” native scrollback is preserved.

> Inspectable

See exactly what was sent to the model and what it replied in a usable transcript view (Ctrl+T). Optionally collect a detailed wire protocol trace.

> Any provider, any model

OpenAI, Anthropic, Codex (via ChatGPT subscription), OpenRouter, llama.cpp, Ollama, and API-compatible endpoints.

> Automation-friendly

Interactive REPL and -p one-shot mode, with clean stdout for scripts and agents, and resume hints on stderr.

$ Get started

Prebuilt packages are on the roadmap. For now, hax builds from source in seconds โ€” all you need is a C compiler, libcurl, and jansson.

git clone https://github.com/OleksandrChekhovskyi/hax
cd hax
scripts/install_deps.sh   # or: apt/pacman/brew install the deps by hand
meson setup build
meson compile -C build
./build/hax

Then point it at a provider and go:

hax                          # interactive REPL
hax -p "list TODOs"          # run one prompt, print the final answer
hax -c                       # continue the latest session for this directory

See the README for provider setup and the full documentation.