zot
A lightweight, single-binary terminal coding agent harness written in Go that supports 25+ LLM providers, four built-in tools, and multiple run modes.
At a Glance
Free and open-source under the MIT license. Bring your own API keys or subscriptions.
Engagement
Available On
Listed May 2026
About zot
zot is a minimal terminal coding agent shipped as a single static Go binary, created by patriceckhart and released under the MIT license. It connects to over 25 LLM providers — including Anthropic, OpenAI, DeepSeek, Google Gemini, GitHub Copilot, and local Ollama models — and exposes a clean agent loop with file read/write/edit and bash execution tools. The project describes itself as "yet another coding agent harness, lightweight and written (vibe-slopped) in go," and is self-described as "in beta forever."
What It Is
zot is a CLI-first coding agent harness that wraps a broad LLM provider catalog behind a single binary with no runtime dependencies, no Docker requirement, and no dedicated plugin package manager. It sits in the category of terminal-based AI coding assistants and agent harnesses — tools that let developers drive large language models to read, edit, and run code directly in their working directory. The core job is to give developers a fast, portable agent loop they can drop on any machine and immediately use with their existing API keys or subscriptions.
Provider and Model Coverage
The built-in provider catalog is one of zot's most distinctive features. It covers:
- Subscription-capable: Anthropic Claude Pro/Max, OpenAI Codex/ChatGPT Plus/Pro, Kimi Code, GitHub Copilot
- Direct API: Anthropic, OpenAI Chat Completions/Responses, DeepSeek, Google Gemini/Vertex, Groq, Cerebras, xAI, Together AI, Hugging Face Router, OpenRouter, Mistral, MiniMax, Fireworks, Vercel AI Gateway, Cloudflare AI, and more
- Local/compatible: Ollama and any OpenAI-compatible endpoint via
--base-url
Model discovery merges a baked-in catalog with live /v1/models results (cached 6 hours) and speculative entries. Custom models can be added via a models.json file in $ZOT_HOME.
Run Modes and Embedding
zot supports four distinct run modes: an interactive TUI with streaming output and slash commands; a print mode (-p) that writes only the final assistant text to stdout; a JSON mode (--json) that emits newline-delimited JSON events for scripts and CI; and an RPC mode (zot rpc) that runs as a long-lived subprocess accepting NDJSON commands on stdin. Two embedding paths exist for developers: a Go in-process SDK (packages/agent/sdk) and the out-of-process RPC interface with reference clients in Python, Node, shell, and Go.
TUI Features and Slash Commands
The interactive TUI includes a rich set of slash commands covering session management, model switching, side-chat (/btw), background subagents (/swarm), skill discovery (/skills), context compaction (/compact), sandbox mode (/jail), and a Telegram bridge (/telegram). The /swarm command spawns parallel background subagents — each a separate zot subprocess with its own model loop and session file — that share the host's working directory. An auto-swarm setting lets the main agent fork subagents autonomously when a task splits into independent parallel work. Sessions are stored as JSONL transcripts and support export, import, forking, and branching via /session.
Extensions and Skills
zot's extension system uses a subprocess + JSON-RPC protocol, allowing extensions written in any language to register slash commands, expose new tools to the model, intercept tool calls, and open interactive panels inside the TUI. Extensions are opt-in and managed via zot ext install/list/enable/disable/remove. Skills are per-folder SKILL.md files with YAML frontmatter that zot discovers at startup and surfaces to the model on demand, keeping context lean by loading only the instructions needed.
Update: v0.2.3
The latest release is v0.2.3, published on 2026-05-29, with the repository last pushed on the same date. The project was created in April 2026 and has been actively releasing since. The GitHub repository shows 65 stars and 3 forks with zero open issues at the time of data collection. The project's self-described "beta forever" status signals ongoing, iterative development rather than a stable production release cadence.
Community Discussions
Be the first to start a conversation about zot
Share your experience with zot, ask questions, or help others learn from your insights.
Pricing
Open Source
Free and open-source under the MIT license. Bring your own API keys or subscriptions.
- Single static binary for Linux, macOS, Windows
- 25+ built-in LLM providers
- Interactive TUI, print, JSON, and RPC modes
- Four built-in tools: read, write, edit, bash
- Session management and branching
Capabilities
Key Features
- Single static binary, no runtime or Docker required
- 25+ built-in LLM providers including Anthropic, OpenAI, DeepSeek, Gemini, Groq, Ollama, and more
- Subscription login support for Claude Pro/Max, ChatGPT Plus/Pro, Kimi Code, GitHub Copilot
- Four built-in tools: read, write, edit, bash
- Interactive TUI with streaming output and slash commands
- Print mode (-p) for shell pipelines
- JSON mode (--json) for NDJSON event streaming
- RPC mode (zot rpc) for embedding in any language
- Go in-process SDK (packages/agent/sdk)
- Background subagents via /swarm with parallel execution
- Auto-swarm: main agent can fork subagents autonomously
- Session management with JSONL transcripts, resume, fork, branch, export/import
- Context compaction (/compact) with auto-compact at 85% context usage
- Side-chat overlay (/btw) that doesn't pollute main transcript
- Extension system via subprocess + JSON-RPC in any language
- Skills system via SKILL.md files with YAML frontmatter
- Telegram bot bridge (in-TUI and standalone daemon)
- Sandbox/jail mode to confine tools to current directory
- Tool gate (--no-yolo) for per-call confirmation
- Model fallback rescue picker on provider errors
- Custom models via $ZOT_HOME/models.json
- Inline image rendering on supported terminals (Ghostty, Kitty, iTerm2, WezTerm)
- Reasoning/thinking level control (off/minimum/low/medium/high/maximum)
- System prompt override via SYSTEM.md or --system-prompt flag
- Queued messages while agent is working
- Session branching and tree view
- Live model discovery with 6-hour cache
- Cross-platform: Linux, macOS, Windows on amd64 and arm64
