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.

Best forDevelopers 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.

Visit Zot Compare

Our 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.

A genuinely fast-moving, CLI-first take on branching sessions, the fork + tree view works as advertised, but read the maintainer's own OAuth and "beta forever" disclosures before adopting it for anything you cannot afford to have break.

The Agents Index digest

New agents, fresh verdicts, and who's earning the top spots. One short email.

Screenshot of Zot
Zot, captured at verification, . Click to enlarge.

What's great

  • 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").

Watch-outs

  • 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.

Also note: 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.

What is Zot?

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.

What does Zot do?

Point Zot at a repo and it works through four built-in tools — read, write, edit, bash — while you drive it from a terminal TUI, a scripted print mode, or JSON streaming for tool integrations. Its most distinctive feature is session control: /session fork copies every message up to any past turn into a brand-new session, so you can branch an approach without losing the original thread, and /session tree renders every session in the current directory as a parent/child tree so you can see the branches at a glance — a CLI-first take on the same "conversation as a tree, not a transcript" idea Juggler ships as a GUI. A Telegram bridge lets a session run in-TUI with DMs mirrored bidirectionally, or as a standalone headless bot (zot telegram-bot) you message from a phone. "Swarm" spins up background subagents in parallel on the same repo, and an extension system (subprocess + JSON-RPC, any language) adds custom tools and slash commands without touching Go code. It also ships as an importable Go package (packages/agent/sdk), so other developers can embed Zot's agent loop in-process to build their own harness rather than using it only as an end-user CLI. The project ships extremely fast — 303 releases and counting since an April 2026 start — and its own docs describe it as "lightweight and in beta forever," not a claim of production stability.

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.

What are Zot's 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.

What does Zot integrate with?

  • 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)

Why use Zot?

  • Free and MIT-licensed (a permissive license, unlike some rival open-source harnesses' copyleft terms), a single static Go binary, no signup, no Docker, no Node runtime.
  • A real, working fork-from-any-message + tree-view session model, not just a linear transcript, genuine differentiation the HN launch thread and independent reviews both confirmed works as described.
  • Written entirely in Go rather than TypeScript/Node, which several Hacker News commenters specifically said was the reason they wanted to try it over JS-based rivals.
  • Actively and rapidly shipped: 292 GitHub releases and counting since its ~April 2026 start, with 10+ external contributors beyond the original author, not a one-person weekend project left to stall.

Pros & cons

Pros

  • 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").

Cons

  • 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.

Limitations

  • 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.

Zot pricing

  • Open sourceFree

See current pricing on zot.sh ↗Compare Zot alternatives →

Zot specs

Pricing

Pricing model
free
Free tier
✓ Yes

Capabilities

Model / LLM
30+ providers (Anthropic, OpenAI/Codex, Gemini, Kimi, DeepSeek, Copilot, Bedrock, Azure, OpenRouter, Ollama)
Interface
CLI
Public API
✓ Yes
Open source
✓ Yes

Deployment

Deployment
Local

Zot review

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.

A genuinely fast-moving, CLI-first take on branching sessions, the fork + tree view works as advertised, but read the maintainer's own OAuth and "beta forever" disclosures before adopting it for anything you cannot afford to have break.

Frequently asked questions

Is Zot free?
Yes. Zot is open-source under the MIT license — a single static Go binary with no signup, no Docker and no Node runtime. You bring your own API key to any supported provider, or use free local models via Ollama.
What does Zot's session branching actually do?
/session fork copies every message up to and including a chosen past turn into a new session, so you can try a different instruction without losing the original thread. /session tree then displays every session in the current working directory arranged by parent/child relationship, so you can see all your branches at once.
Is it safe to use Zot with my Claude Pro/Max or ChatGPT Plus subscription?
Zot's own documentation discloses that it reuses the OAuth client IDs from Anthropic's and OpenAI's first-party CLIs to enable subscription billing, and explicitly warns this "may be against their terms of service and may be revoked at any time." The safer, ToS-compliant default is Zot's API-key flow, which bills you directly through the provider's standard API pricing instead.
Which models does Zot support?
More than 30 providers, including Anthropic, OpenAI/Codex, Google Gemini, Kimi, DeepSeek, GitHub Copilot, AWS Bedrock, Azure OpenAI, OpenRouter and local Ollama models — configurable per session.
Is "Zot" the coding-agent harness the same as the Zot container registry?
No — zotregistry.dev is a separate, unrelated open-source OCI container registry project. This listing covers the coding-agent harness at zot.sh by developer Patrice Eckhart.
Can I use Zot as a library instead of a CLI?
Yes. Zot publishes its agent loop as an importable Go package (packages/agent/sdk) so other developers can embed it in-process to build their own harness or tool, rather than only driving it through the terminal UI.

Get a quote from Zot

Tell us what you need. We make the introduction to Zot.

Zot

from Free

Visit ↗