Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

Zero

Open-source terminal coding agent in Go with 30+ model providers, a permission sandbox and local sessions

Visit website Save

Zero is an MIT-licensed AI coding agent for the terminal, built in Go by Twigpine. It reads repositories, edits files and runs commands under a permission and OS sandbox policy, works with cloud or local models, and keeps sessions on your disk.

Pricing
Open source
Deployment
Windows / macOS / Linux app
Platforms
Windows, macOS, Linux
1,782stars209forks
4views
Updated

What is Zero?

Zero is an AI coding agent that runs in a local terminal. It inspects a repository, edits files, runs shell commands and keeps durable sessions, while the user chooses the model provider and the permission level. It is developed by Twigpine, a company that publishes open-source infrastructure for AI agents, and is released under the MIT License. The project started in 2026 under the Gitlawb name: the npm package was @gitlawb/zero up to version 0.9.0 and became @twigpine/zero with 0.10.0. The Go module path still reads github.com/Gitlawb/zero, which matters for go install.

Distribution covers several routes, documented in the install guide. The npm wrapper requires Node.js 18 or later and pulls a native binary as an optional dependency, with no install scripts. Shell and PowerShell installers download a GitHub Release archive and verify its checksum. mise, go install and source builds with Go 1.26.10 or later are also documented. Release archives exist for Linux x64 and arm64, macOS x64 and arm64, and Windows x64, each with a SHA256 file. Windows on ARM runs the x64 build under emulation.

The current release is v0.12.0, published November 3, 2026. It lets the main binary re-execute itself as the Linux sandbox helper, so a separate zero-linux-sandbox file is no longer required, installs files bundled with a skill, adds MiniMax-M3.1-Flash to the model catalog and moves the toolchain to Go 1.26.10 for a Go security advisory. Fixes cover credential redaction, apply_patch checkpoints, image summaries on resume and headless guardrail stops, which are now reported as incomplete. Version 0.11.0 added a Concentrate provider preset and stopped a repository's own git configuration from running programs during Zero's git calls; 0.10.0 introduced per-model request limits and zero sessions prune.

One Go binary serves three surfaces: an interactive Bubble Tea TUI, a headless zero exec mode and an ACP bridge for editors. All of them feed the same agent loop, tool registry and sandbox engine, as described in How Zero works. Sessions are stored as metadata.json plus an append-only events.jsonl log, which is what makes resume, fork and rewind possible without a remote service.

Zero is not a hosted service and has no paid plan; the website states that there is no pricing page and that users pay only their model provider. It is a terminal tool rather than an IDE extension or desktop application. Using a Claude subscription instead of an API key is only possible through a local proxy, as the OAuth and subscriptions guide explains.

Inside the application

Zero screenshots

Explore the interface. Open a screenshot to view it at full size.

Zero terminal interface fixing a failing Go test, with tool calls, a diff and a plan sidebar
Zero screenshot 1

Scripted replay of a Zero TUI session on the official website: the agent runs go test, edits backoff.go and reruns the tests.

Zero website panels listing supported model providers, default permission rules and local session commands
Providers, permissions and local data

Website overview of provider choices, the default permission table (reads allowed, writes in workspace only, shell and network ask first) and local session commands.

Grid of Zero features including zero exec, MCP, spec-first runs, specialists, worktrees and a GitHub Action
Feature overview

Feature overview from the official website, with the command or flag behind each capability.

Zero theme picker with Dracula, Nord, Gruvbox and other palettes beside a sample session in the dark theme
Theme picker

Theme preview from the official website, rendered from the palette data in the Zero source.

Source: official Zero project page.

Key capabilities

  • Install with npm on Linux, macOS or Windows Run npm install -g @twigpine/zero with Node.js 18 or later. The wrapper installs a platform payload for Linux and macOS (x64, arm64) or Windows x64 as an optional dependency, including the browser and terminal control helpers. If optional dependencies are skipped, the wrapper downloads the binary from the matching GitHub Release and verifies its checksum. Bun, pnpm and yarn work the same way.
  • Install scripts and release archives On Linux and macOS, the bash installer needs curl or wget, tar and shasum or sha256sum, and places the binary in ~/.local/bin/zero. On Windows, the PowerShell installer writes to %LOCALAPPDATA%\zero\bin\zero.exe. Both accept a version pin and a custom directory. Archives with SHA256 files are also available on the releases page.
  • Source builds, mise and Termux Building from source needs Go 1.26.10 or later. mise installs from release archives through ubi:Twigpine/zero, and zero upgrade should not be used on a mise-managed binary. The install guide also documents a source build for Android under Termux with GOOS=android, which is not a published release target.
  • Model choice across many providers The website lists more than 30 providers, including OpenAI, Anthropic, Gemini, Groq, OpenRouter, DeepSeek, Mistral, xAI, Bedrock, Vertex AI, NVIDIA NIM, GitHub Models and Twigpine's OpenGateway, plus any OpenAI- or Anthropic-compatible endpoint. Local models run through Ollama, LM Studio or Atomic Chat, and zero providers detect finds them. The active model can be switched mid-session with /model.
  • OAuth logins for supported providers zero auth login handles browser or device-code sign-in for OpenRouter, xAI, ChatGPT (Plus or Pro through the Codex backend) and Hugging Face, and for custom OAuth 2.0 providers configured through environment variables. Tokens are stored with 0600 permissions or in the OS keyring when ZERO_OAUTH_STORAGE=keyring is set. Claude subscriptions need a separate local proxy.
  • Permission policy and OS sandbox Workspace reads are allowed by default, file writes stay inside the workspace, and shell commands, network access and writes elsewhere ask first. --add-dir grants extra write roots without opening the whole filesystem, and unsafe autonomous modes are explicit opt-ins. Linux sandboxing needs Bubblewrap, macOS uses the system sandbox, and zero sandbox policy shows what applies.
  • Interactive terminal interface The TUI provides model and provider pickers, image input for vision models, live plan and tool rendering, a sidebar for agents, plan and changed files, and scrollback. Shift+Tab cycles the permission mode and Ctrl+B toggles the sidebar. Slash commands include /spec, /plan, /compact, /context, /permissions and /btw for a side question in an isolated fork.
  • Headless runs with zero exec One-shot and scripted runs produce text, JSON or stream-JSON output and return meaningful exit codes: 0 for success, 2 for usage errors, 3 for provider errors. Options include --worktree for an isolated git worktree, --use-spec for spec-first work, --resume and --fork. The stream-JSON protocol is at schema version 2 and rejects unknown input fields.
  • Local sessions with resume, fork and rewind Every session is kept on disk as metadata and an append-only event log of messages, tool calls, permissions, usage and checkpoints. Sessions can be resumed, forked, rewound to a checkpoint, searched with zero search and pruned; pruning skips sessions another process has open. Providers receive only the messages needed for the current completion.
  • MCP client and server Zero consumes MCP servers over stdio, HTTP or SSE, managed with zero mcp, and zero serve --mcp exposes its own tools to another agent over stdio. The Exa MCP endpoint is enabled by default for keyless web search and can be turned off with zero mcp disable exa. The AI/ML API MCP server stays off until enabled.
  • Specialist subagents Named subagents receive focused work through the Task tool. worker, explorer and code-review are built in; user and project specialists are Markdown manifests with a tool list such as read-only, edit, execute or plan, and an optional model override. The specialists guide lists the keys and the override order.
  • Skills, plugins and hooks Markdown skills teach project conventions, and since 0.12.0 a skill's bundled files are installed with it. Plugin manifests can declare custom tools with a prompt or deny permission, lifecycle hooks on beforeTool, afterTool, sessionStart and sessionEnd, and extra prompts. A non-zero hook exit blocks the tool call. Details are in the extending guide.
  • Project and personal instructions Zero reads the first AGENTS.md, ZERO.md or .zero/AGENTS.md in each directory from the git root down to the working directory, capped at 8 KiB per file and 32 KiB in total. A personal ZERO.md in the user config directory applies to every workspace before project guidance.
  • GitHub Action for CI Twigpine/zero@v1 installs a pinned release, runs a prompt in the checked-out repository and turns Zero's exit code into the step status. The provider, model and key are inputs, the autonomy ceiling defaults to low, and a summary can be posted to the pull request or to Slack. See the Action reference.
  • Scheduled agent jobs zero cron runs recurring agent jobs on the local machine, such as nightly triage or dependency sweeps. Each job keeps the newest 1,000 run outcomes in runs.jsonl; older records are trimmed on the next run, so archive the file first if you need them.
  • Usage, limits and diagnostics zero usage reports token usage and estimated cost, and zero context shows the context budget. A modelRPM setting caps completions per model in a sliding 60-second window; it is process-local, not an account-wide quota. zero doctor checks setup, keys and connectivity.
  • Repository helpers zero repo-map builds a deterministic repository map, zero verify detects and runs local checks, zero changes inspects and commits local git changes, and zero worktrees prepares isolated worktrees. These commands work from the same binary without the TUI.
  • Themes and accessibility Themes such as Dracula, Nord, Gruvbox, Tokyo Night, Catppuccin, Solarized and light variants are selected with ZERO_THEME, --theme or /theme. The website states that its palettes are checked against WCAG AA, and diffs, permissions and statuses also use text or glyph markers. NO_COLOR and ZERO_NO_FADE=1 disable color and the streaming fade.
  • Self-update with checksum verification zero update --check compares the local version with the latest GitHub release and can print JSON for scripts. zero upgrade delegates to npm for npm installs, refuses for a Homebrew keg, and otherwise downloads, verifies and atomically replaces the binary and any installed sandbox helpers.
Advertisements

Where Zero fits

Fixing a failing test from the terminal

Start zero in the repository, describe the failure and let the agent run the test command, read the relevant files and propose an edit. In the default mode, shell commands ask for approval, so you see each command before it runs. Check the diff shown in the transcript and the changed-files list in the sidebar, then rerun the tests yourself before committing with zero changes or your normal git workflow.

Running a coding agent with a local model

Start Ollama, LM Studio or Atomic Chat, load a model, then run zero setup or zero providers detect. Prompts and code then stay on the machine, apart from features that call the network, such as the Exa web search MCP server enabled by default. Disable it with zero mcp disable exa if nothing should leave the host, and confirm with zero doctor that the local endpoint answers.

Automating changes in CI

Use zero exec with --output-format json or stream-JSON in a script, or the Twigpine/zero@v1 GitHub Action in a workflow. Pass the provider key as a secret through api-key and api-key-env, keep the autonomy ceiling at low unless the job needs more, and grant only the workflow permissions it uses. Check that a provider failure returns exit code 3 and fails the step rather than producing an empty success.

Trying a risky refactor in isolation

Run zero exec --worktree or use zero worktrees so the agent works in a disposable git worktree, optionally after drafting a plan with /spec or --use-spec. If the result is useful, review and merge the branch; if not, discard the worktree. /rewind and zero sessions fork let you return to a checkpoint or try another approach without losing the original history.

Encoding team conventions and review roles

Commit an AGENTS.md or ZERO.md with build commands and rules, then add project specialists under .zero/specialists, for example a read-only reviewer for API changes. Add skills for repeated procedures and hooks that block dangerous tool calls. Keep project instruction files under the 8 KiB per-file limit, and review plugin tools set to auto-approve before sharing them.

Exposing Zero to another agent or editor

Run zero serve --mcp and register it as a stdio MCP server in the receiving client, or connect an editor through the ACP bridge. The workspace and extra write roots are set with -C and --add-dir. Verify which tools the client can see and that the same sandbox policy applies to requests arriving through MCP.

Install

npm install -g @twigpine/zero

Reviews of Zero

No reviews yet

Be the first to share your experience with Zero.

Loading review form…

Alternatives to Zero

Compare Zero with these tools →