zot. Yet Another Coding Agent Harness.
A Agent Harness
That Is
One Binary.
Lightweight and written (vibe-slopped) in Go. No runtime. No Docker. No package manager. Just the agent loop, done well. Drop it on your $PATH and go.
ask anything, or type /help to see commands.
What Is It?
The Agent Loop, Done Well.
Five Built-In Tools
read, write, edit, glob, bash. The minimum viable toolbox for an agent that actually ships code.
Read MoreMost Providers
Anthropic, OpenAI/Codex, Gemini, Kimi, DeepSeek, Bedrock, Vertex, Copilot, OpenRouter, Ollama, managed llama.cpp models, and more.
Read MoreExtensions, Any Language
Subprocess + JSON-RPC. Register slash commands, tools, permission gates, and interactive panels.
Read MoreSwarm
Background subagents running alongside your main session, each its own model loop in the same repo.
Read MoreSessions You Control
Resume, fork, branch, compact, and export portable transcripts. Auto-compacts before you blow the window.
Read MoreTelegram Bridge
Pair zot with a bot token and DM it from anywhere. It reads, writes, edits, and runs, same as the TUI.
Read MoreWhat Was Left Out
Small at the Core, on Purpose.
Things other tools bake in can be built with extensions and skills, or skipped entirely. That keeps the binary tiny and lets you shape zot to fit how you work.
No Mandatory MCP
Build CLI tools with skills, or add an extension that speaks MCP if you actually need it.
No Plugin Store
Nothing installs automatically. Opt in per machine with zot ext install, or per run with --ext.
No Config Sprawl
Themes are partial JSON. Settings live in one config.json. Override the system prompt with a single file.
zot continuous (Experimental)
Work That Outlives the Terminal.
A persistent execution layer for conversations that should keep going after you close the lid. Share one history across clients and recover cleanly after a crash or restart.
Read MoreSurvives Restarts
Model requests and tool calls are recorded before and after they run, so interrupted work resumes from its last committed boundary.
Host Once, Attach Anywhere
serve owns the work. Clients and the TUI attach, follow along, and detach without cancelling anything.
Safe Retries
A stable --request-id returns the original submission instead of queueing the same prompt twice.
Providers
Bring Any Model.
One catalog across most providers. /login, /model, and --list-models all speak the same IDs. Add your own with models.json.