Hax: A Minimalist Terminal-Native Coding Agent in C

✍️ OpenClawRadar📅 Published: August 14, 2026🔗 Source
Ad

Hax is a minimalist, terminal-native coding agent written in C. It ships as a single native binary with minimal dependencies, starts instantly, and uses only a few MB of RAM — leaving more memory for your local LLMs.

Key Features

  • Lightweight by design: A single native C binary with a small dependency set. Starts instantly and uses a very small amount of memory (just a few MBs) — so more RAM is left for your local LLMs.
  • Local models are first-class: Hax auto-discovers the model and runtime capabilities. No custom provider config block needed for the default setup. Example:
  • llama-server -m [model].gguf
    hax --provider llama.cpp
  • Respects your terminal: Streaming Markdown and live tool output are reflowed for display. Only redraws the current streaming line or the input area, preserving native scrollback. Does not take over or mess with your terminal.
  • 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.
  • Use any provider/model: Supports OpenAI (+compatible), Anthropic (+compatible), Codex (via ChatGPT subscription), OpenRouter, llama.cpp, etc.
  • Well-behaved Unix tool: XDG paths, clean stdout in -p one-shot mode with resume hints on stderr, plain-text config and session files, composition via subprocesses instead of plugins.
Ad

Who It's For

Developers who live in the terminal, run local models, audit what their tools do, package software for distros, or run agents where resources are scarce. If you want MCP marketplaces, a plugin runtime, IDE panels, or per-command permission prompts, other agents build exactly that — hax deliberately doesn't, and docs/philosophy.md explains each omission.

Getting Started

Hax runs on Linux and macOS; on Windows, use it under WSL. Install with Homebrew:

brew install oleksandrchekhovskyi/hax/hax

On Arch Linux, hax is in the AUR as hax. On any Linux, download the prebuilt static binary (x86_64 or aarch64) from the latest release and put it on your PATH.

Build from source:

git clone https://github.com/OleksandrChekhovskyi/hax.git
cd hax
scripts/install_deps.sh  # Debian/Ubuntu, Fedora, Arch, openSUSE, Alpine, macOS
make                     # binary at ./build/hax
make install             # optional; may prompt for sudo

Run hax from the project directory you want it to work in:

hax                # interactive REPL
hax -p "list TODOs"  # run one prompt and print the final answer
printf "explain x" | hax -p   # read prompt from stdin
hax -c             # continue the latest session for this directory
hax --resume       # pick a past session for this directory
hax --resume=ID -p "next"   # resume a specific session in one-shot mode

The easiest first run is interactive: start hax, then use /provider to see available providers and choose a model. Hax remembers interactive provider, model, and effort selections. See the README for provider setup and full documentation.

📖 Read the full source: HN AI Agents

Ad

👀 See Also