A minimalist, interface-free coding agent: a 7 MB static Go binary with only four tools—read file, write file, replace, and run command. It reads tasks from standard input and writes results to standard output, making it suitable for shell pipelines, CI, and containers. Each call sends the full conversation without compression or truncation.
Stars 572 (+295 / 24h)
Reasoning
- Focuses on "not silently dropping context": no summarization, trimming, or sliding windows; file contents and command outputs are passed to the model in full. If the model output is truncated by the provider, it exits with an error rather than treating a partial answer as success.
- Connects to any OpenAI-compatible Chat Completions interface, including local Ollama (the author smoke-tested with qwen3:8b). Optional JSONL session files allow resuming; --json outputs structured events. Implemented in 837 lines of Go, making it easy to modify.
Usage
- Download the binary for your platform from Releases (with SHA-256 checksums), or run go install github.com/Balanov/uncut/cmd/uncut@latest (requires Go 1.26+).
- Set UNCUT_API_KEY and UNCUT_MODEL (also set UNCUT_BASE_URL if using OpenRouter, etc.), then run: uncut "Inspect this repository and fix the failing tests". You can also pipe input: git diff | uncut "Review this diff. Do not edit files."
Risks
- The author explicitly states it is not a sandbox: the model can execute arbitrary shell commands with your user permissions, with no approval prompts. Untrusted tasks should be run in disposable containers. Session files may contain source code and secrets.
- The full conversation is sent every time, so token costs grow rapidly for long tasks, and it fails outright if the context limit is exceeded. Images are not supported. The binary is unsigned. The repository is new (created on 1 11) and gaining stars quickly; the website marks it as "to be observed," but the README describes a standard development tool. License: MIT.