{"slug": "hax-a-minimalist-terminal-native-coding-agent-written-in-c", "title": "Hax – a minimalist, terminal-native coding agent written in C", "summary": "OleksandrChekhovskyi released hax, a minimalist terminal-native coding agent written in C, which starts instantly and uses only a few MBs of RAM to leave more memory for local LLMs. The tool supports local models via llama.cpp, OpenAI, Anthropic, Codex, OpenRouter, and other providers, and is available for Linux and macOS via Homebrew or prebuilt static binaries. Hax targets developers who prefer lightweight, inspectable Unix-style tools over plugin-heavy agents.", "body_md": "## > Lightweight by design\n\nA 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.\n\n## > Local models are first-class\n\nhax auto-discovers the model and runtime capabilities. No custom provider config block needed for the default setup.\n\n```\nllama-server -m [model].gguf\nhax --provider llama.cpp\n```\n\n## > Respects your terminal\n\nStreaming Markdown and live tool output, reflowed for display in the terminal. Only redraws the current streaming line or the input area, native scrollback is preserved. Does not take over or mess with your terminal.\n\n## > Inspectable\n\nSee 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.\n\n## > Use any provider/model\n\nSupports OpenAI (+compatible), Anthropic (+compatible), Codex (via ChatGPT subscription), OpenRouter, llama.cpp, etc.\n\n## > Well-behaved Unix tool\n\nXDG paths, clean stdout in `-p`\n\none-shot mode with resume hints on stderr,\nplain-text config and session files, composition via subprocesses instead of\nplugins.\n\n## > Target audience\n\nDevelopers who live in the terminal, run local models, audit what their tools do,\npackage software for distros, or run agents where resources are scarce. If you want MCP\nmarketplaces, a plugin runtime, IDE panels, or per-command permission prompts, other\nagents build exactly that — hax deliberately doesn't, and\n[docs/philosophy.md](https://github.com/OleksandrChekhovskyi/hax/blob/master/docs/philosophy.md) explains each omission and the pattern that covers the\nneed.\n\nIf \"fancy new AI tech in an old-school minimalist package\" sounds like your vibe, you might like this.\n\n## $ Get started\n\nhax runs on Linux and macOS; on Windows, use it under\n[WSL](https://learn.microsoft.com/en-us/windows/wsl/).\n\nWith [Homebrew](https://brew.sh) (macOS or Linux):\n\n```\nbrew install oleksandrchekhovskyi/hax/hax\n```\n\nOn Linux, download the prebuilt static binary for your architecture (x86_64 or aarch64)\nfrom the\n[latest\nrelease](https://github.com/OleksandrChekhovskyi/hax/releases/latest), then unpack the `hax`\n\nbinary into any directory on your\n`PATH`\n\n.\n\nBuilding from source gives a binary linked against your system's shared libraries instead of a static one:\n\n```\ngit clone https://github.com/OleksandrChekhovskyi/hax.git\ncd hax\nscripts/install_deps.sh   # Debian/Ubuntu, Fedora, Arch, openSUSE, Alpine, macOS\nmake                      # the binary is now at ./build/hax\nmake install              # optional; may prompt for sudo\n```\n\n`scripts/install_deps.sh`\n\ninstalls the build dependencies — a C compiler,\nlibcurl, jansson, meson, ninja, and pkg-config — plus `fzf`\n\n, which hax uses\nfor `@file`\n\ncompletion when available.\n\nRun hax from the project directory you want it to work in:\n\n```\nhax                         # interactive REPL\nhax -p \"list TODOs\"         # run one prompt and print the final answer\nprintf \"explain x\" | hax -p # read the prompt from stdin\nhax -c                      # continue the latest session for this directory\nhax --resume                # pick a past session for this directory\nhax --resume=ID -p \"next\"   # resume a specific session in one-shot mode\n```\n\nThe easiest first run is interactive: start `hax`\n\n, then use\n`/provider`\n\nto see available providers and choose a model. hax remembers\ninteractive provider, model, and effort selections.\n\nSee the [README](https://github.com/OleksandrChekhovskyi/hax#readme) for\nprovider setup and the full documentation.", "url": "https://wpnews.pro/news/hax-a-minimalist-terminal-native-coding-agent-written-in-c", "canonical_source": "https://usehax.dev/", "published_at": "2026-08-12 14:43:45+00:00", "updated_at": "2026-08-12 15:52:08.565920+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools"], "entities": ["OleksandrChekhovskyi", "hax", "llama.cpp", "OpenAI", "Anthropic", "Codex", "OpenRouter", "Homebrew"], "alternates": {"html": "https://wpnews.pro/news/hax-a-minimalist-terminal-native-coding-agent-written-in-c", "markdown": "https://wpnews.pro/news/hax-a-minimalist-terminal-native-coding-agent-written-in-c.md", "text": "https://wpnews.pro/news/hax-a-minimalist-terminal-native-coding-agent-written-in-c.txt", "jsonld": "https://wpnews.pro/news/hax-a-minimalist-terminal-native-coding-agent-written-in-c.jsonld"}}