# Zot — A free, MIT-licensed coding-agent harness in one Go binary, branch any session from any past message and view it as a tree, plus a Telegram bridge.

> Source: The Agents Index — https://theagentsindex.com/zot (structured, researched, re-verified)
> Facts last verified: 2026-07-23

Zot is a single-binary coding-agent harness written in Go by independent developer Patrice Eckhart, who describes it, self-deprecatingly, as "yet another coding agent harness." It runs as a terminal TUI, a scriptable print/JSON-streaming mode, or a headless daemon, connecting to 30+ model providers, Anthropic, OpenAI/Codex, Gemini, Kimi, DeepSeek, GitHub Copilot, Bedrock, OpenRouter and local Ollama models among them, through one static binary with no Node runtime, Docker or package manager required.

| Fact | Value |
| --- | --- |
| Website | https://zot.sh |
| API | Yes |
| Best for | Developers who want a fast, free, Go-native coding-agent harness with real session-branching control and are comfortable running fast-moving, self-described "beta forever" software from an independent maintainer. |
| Not for | Buyers who need a GUI (see Juggler), an enterprise support contract, or who are unwilling to accept the disclosed ToS risk of subscription-billing OAuth reuse and would rather stick to the API-key flow or a first-party vendor tool. |

## Verdict

Zot earns its place with a real, working idea: fork any past message in a coding session into a new branch and see the whole tree at a glance, all from one free, MIT-licensed Go binary with no Docker or Node runtime. It backs that up with genuine breadth — 30+ model providers, local Ollama support, a Telegram bridge, background swarm subagents, and an importable Go SDK for developers who want to build their own harness on top of it — and it ships fast, with 303 releases and 10+ contributors since an April 2026 start. The honest catches are the ones the maintainer discloses directly: the OAuth-reuse trick that lets it bill through a Claude/ChatGPT subscription is, by the README's own admission, a likely terms-of-service violation that could be revoked at any time (the API-key flow sidesteps this), the docs call the project "beta forever" rather than production-stable, and the TUI is admitted to be almost entirely AI-generated. Pick Zot if you want a free, fast, Go-native harness with real branching-session control and are comfortable with fast-moving independent software; pick Juggler instead if you want the same branching-tree idea with a GUI, or a first-party vendor tool if you need managed support and want to avoid any OAuth-reuse risk entirely.

## Strengths and weaknesses

- ✓ Free, open-source (MIT) and genuinely fast to start — a single static Go binary with no Docker, Node runtime or account required.
- ✓ A real, working branching-session model: fork any past message into a new session and view the whole tree, independently confirmed by a launch-day HN commenter who called it "fucking awesome" and by a second user who reported daily use since release.
- ✓ Supports 30+ model providers including local Ollama models, plus a Telegram bridge and background "swarm" subagents most rival single-binary harnesses do not offer.
- ✓ The maintainer is directly responsive to bug reports and feature requests, per a user with several weeks of daily use ("Patrick responds to suggestions and bugs really fast").
- ✗ Zot's own README discloses that it reuses the OAuth client IDs published in Anthropic's Claude Code CLI and OpenAI's Codex CLI so subscription billing (Claude Pro/Max, ChatGPT Plus/Pro) works from a third-party tool — the README itself warns "reusing them from a third-party tool may be against their terms of service and may be revoked at any time," and HN commenters confirmed the code spoofs the first-party client's requests. The API-key flow avoids this risk entirely.
- ✗ The project describes itself as "lightweight and in beta forever," and the author has stated on Hacker News that the terminal UI is "literally 98% vibe coded" — an honest disclosure, but a real signal to test carefully before trusting it with sensitive work.
- ✗ A third-party HN commenter asked directly why they should pick Zot "over pi, opencode, or other existing options" and got no clear answer in-thread beyond the branching-session UI — buyers already invested in a rival harness may not find enough reason to switch.
- ⚠ No GUI, terminal-first by design, unlike GUI-based rivals such as Juggler.
- ⚠ Single independent maintainer plus a small contributor base, no enterprise support, SLA or managed hosting.

## Key features

- **Fork-from-any-message + /tree view** — `/session fork` branches a new session from any past turn; `/session tree` renders every session in the working directory as a parent/child tree.
- **30+ model providers, one static binary** — Anthropic, OpenAI/Codex, Gemini, Kimi, DeepSeek, GitHub Copilot, Bedrock, Azure OpenAI, OpenRouter and local Ollama models, with no Node runtime or Docker needed to run it.
- **Telegram bridge** — Mirrors an in-TUI session to Telegram DMs bidirectionally, or runs as a standalone headless bot (`zot telegram-bot`) for driving the agent remotely from a phone.
- **Swarm (background subagents)** — Runs multiple subagents in parallel on the same repository instead of one linear session at a time.
- **Importable as a Go SDK** — The agent loop is published as `packages/agent/sdk`, so other developers can drive Zot in-process from their own Go program rather than only via the CLI, positioned for building your own harness, not just using this one.

## Use cases

- **Branching exploration mid-task** — An agent goes down the wrong path partway through a coding session; the developer forks from the last good message, tries a different instruction in the new branch, and keeps both threads via `/session tree` for comparison.
- **Remote/mobile supervision** — A developer kicks off a long-running task from a desktop terminal, then messages the Telegram bridge from a phone to check progress or approve a step without opening a laptop.
- **Embedding an agent loop in a custom tool** — A developer building their own internal coding-agent product imports `packages/agent/sdk` directly into a Go program instead of writing a provider-routing and tool-execution loop from scratch.

## Integrations

Anthropic, OpenAI/Codex, Gemini, Kimi, DeepSeek, GitHub Copilot, Bedrock, Azure OpenAI, OpenRouter, Ollama (local models) · Telegram (in-TUI bridge or standalone bot) · JSON-RPC extensions (any language) · Go SDK (`packages/agent/sdk`, in-process embedding)

## Sources

- https://zot.sh
- https://github.com/patriceckhart/zot
- https://www.zot.sh/docs
- https://news.ycombinator.com/item?id=48319524
- https://zotregistry.dev
