Zero
A local terminal coding agent with your choice of model and permission policy.
Per-dimension scores and reasoning
Evidence shows: README describes permission model (workspace reads allowed by default, writes limited to workspace, shell/network/destructive commands permission-gated), --add-dir and /add-dir grant additional write roots, unsafe/autonomous modes are explicit opt-ins, secrets redacted from tool output and logs. CI includes govulncheck as hard gate. SECURITY.md provides vulnerability reporting process. Deductions: no code-level verification, permission model only documented; rollback only mentioned via /rewind and session resume, no concrete mechanism; publisher unverified, source attribution only based on repo metadata.
Evidence shows: README and CI consistent, go.mod and package.json versions consistent, CI has tests, build, smoke tests. Deductions: no specific failure message examples, dependency availability only indirectly via CI, no runtime error handling details.
Evidence shows: README covers multiple usage scenarios (TUI, headless exec, CI, extensions), clear capability boundaries (permission gating, sandbox), triggers clear (commands, slash commands, env vars), supports multiple platforms (Linux/macOS/Windows). Deductions: no detailed scenario examples or edge cases, environment fit only documented.
Evidence shows: README well-structured, install notes detailed, naming consistent (zero command), examples and FAQ links, MIT license clear. Deductions: no CHANGELOG, version only in package.json 0.6.0, maintenance responsibility unclear, known limitations not listed.
Evidence shows: README shows multiple output formats (text, JSON, stream-JSON), scriptable interface, clear value proposition (multi-provider, local sessions, extensible). Deductions: no performance benchmarks or cost data, marginal value only based on feature list.
Evidence shows: README claims consistent with code structure (e.g., command list), CI provides test and build verification. Deductions: no independent sources, facts and inferences not clearly separated, some claims (e.g., performance) lack data.
- Publisher unverified, install scripts (curl | bash) pose supply chain risk, review script contents.
- Permission model relies on documentation, no code-level verification, actual behavior may differ.
- Rollback mechanism only mentioned via /rewind and session resume, no implementation details, may be incomplete.
What does this agent do, and when should you use it?
Zero is an AI coding agent for the local terminal, with both an interactive TUI and the scriptable `zero exec` command. It can inspect repositories, edit files, run commands, and use local browser and terminal helpers; its sessions are stored on disk and can be searched, resumed, or forked. Users can configure models from 25+ providers, including OpenAI, Anthropic, Gemini, Ollama, LM Studio, and compatible endpoints. Its headless mode supports text, JSON, and stream-JSON I/O, isolated worktrees, and spec-first runs for scripting or CI. File writes, shell commands, network access, and writes outside the workspace are governed by permission and sandbox policy.
Run zero for the terminal TUI or zero exec "..." for a one-shot coding task. The agent can read the local workspace, modify workspace files, run shell commands through exec_command, and retrieve public URLs through web_fetch; its permission and sandbox policy governs those side effects. zero exec accepts text prompts and can process JSONL turns with --input-format stream-json --output-format stream-json; --worktree runs in an isolated Git worktree, while --resume and --fork continue or branch local sessions. It also manages MCP servers and tools through zero mcp, and zero serve --mcp exposes Zero tools over MCP stdio.
- A developer using OpenAI, Anthropic, or Gemini APIs who wants an agent in their terminal to inspect a repository and fix a failing test.
- A local-model user running Ollama or LM Studio who needs to configure local inference without moving to a vendor-specific coding client.
- An engineer maintaining CI or automation scripts who needs to send tasks through
zero execand consume JSON or stream-JSON output. - A developer testing a migration or refactor who wants to run an agent task in an isolated Git worktree with
zero exec --worktree. - A contributor working across codebases who needs to grant an additional, limited write directory to the current session with
--add-dir.
What are this agent's strengths and limitations?
- It combines an interactive TUI with a headless
zero execinterface that supports text, JSON, and stream-JSON I/O for scripting and CI. - It documents a broad provider path: OpenAI, Anthropic, Gemini, Ollama, LM Studio, and OpenAI- or Anthropic-compatible endpoints are among the listed options.
- Its permission model specifically covers file writes, shell commands, network access, and writes outside the workspace, with scoped extra write roots through
--add-dir. - Local sessions are searchable, resumable, forkable, and rewindable; the README states that Zero does not upload them as telemetry.
- Source builds require Go 1.26.5+, and native Linux sandboxing requires building and placing the separate
zero-linux-sandboxhelper beside the main binary. - Remote API providers require users to configure the relevant API key; model availability and cost depend on the selected provider.
- The listed official npm builds support Windows x64; Windows on ARM runs the x64 build under emulation.
- The release installers and npm wrapper depend on published GitHub Release assets; before the first public release, the documented path is building from source.
How do you install or deploy this agent?
Install with npm:
npm install -g @gitlawb/zero
zeroBuilding from source requires Go 1.26.5+:
git clone https://github.com/Gitlawb/zero.git
cd zero
go run ./cmd/zeroFor an API provider, set the matching key before zero setup or enter it in the setup wizard. For example:
export OPENAI_API_KEY=sk-...
zero setupFor local models, start Ollama or LM Studio, then run zero setup or zero providers detect.
How do you use this agent?
Start the interactive interface:
zeroRun a one-shot task:
zero exec "fix the failing test in ./pkg"Select a model for a task:
zero exec --model claude-sonnet-4.5 "refactor the config loader"Use stream-JSON I/O:
zero exec --input-format stream-json --output-format stream-json < turns.jsonlUse zero doctor to check setup, keys, and connectivity; use zero providers list and zero models list to inspect configuration.
FAQ
Is Zero limited to one model provider?
Does it get unrestricted filesystem and network access by default?
Can it be used in automation or CI?
zero exec supports scriptable execution, isolated worktrees, spec-first runs, meaningful exit codes, and JSON or stream-JSON input and output.