zerostack: lightweight coding agent in Rust
zerostack
A lightweight Rust coding agent for the terminal, inspired by pi and OpenCode and built for a small memory footprint
- 1,727 ★ on the repository
- Last commit
- GPL-3.0
Broad access
Why this level
- The agent runs shell commands and edits files, and without `--sandbox` it does so with your rights
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/zerostackDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent runs shell commands and edits files, and without `--sandbox` it does so with your rights
This is third-party code. Review the repository files before installing.
What it does
zerostack is a terminal coding agent. It is written in Rust and built for a small memory footprint: about 16 MB of memory on average with a 26 MB binary. The agent connects to OpenRouter, OpenAI, Anthropic, Gemini, Ollama or your own provider and offers the usual coding agent tool set. The interface is built on crossterm, with Markdown rendering, mouse selection and a toggle for showing reasoning. Sessions can be saved, resumed and compacted automatically to fit the context. Prompt modes for coding, planning, review and debugging switch at runtime and replace separate skills. Permissions are governed by five modes with per-tool patterns and session allowlists. The `--sandbox` option runs every shell command in an isolated environment through bubblewrap or zerobox. There are subagents for exploring the codebase, git worktree integration through `/worktree`, MCP server support and a Ralph loop for long tasks. Some capabilities, such as persistent memory and hooks, are enabled by build flags.
Who it is for. For developers who want a fast terminal agent with a small memory footprint and flexible permissions, including local models through Ollama.
Good fit when
- You need an agent with subagents for exploring a large codebase
- Work with a local model through Ollama and no cloud keys
- Run agent commands in a sandbox with ~/.ssh, ~/.aws and ~/.kube masked
- Switch between planning, code, review and debug modes with one command
- Plug in your own MCP servers and hooks in a format close to Claude Code settings
Not a fit when
- You need verified Windows operation: support there is not tested
- You need the Claude Code or Cursor plugin ecosystem with ready skills: here prompt modes replace skills
- You need a guaranteed sandbox: `--sandbox` is best effort and runs commands outside the sandbox when bubblewrap is missing
Example request
Switch to plan mode, explore the authorization module with a subagent and propose how to move token validation into shared request handling.Limitations
Some capabilities depend on build flags: memory, hooks, ACP, the advisor and image input are present with `--all-features` or the right `--features`. The default build includes git-worktree, MCP, subagents, ARCHITECTURE.md, status signals and logging.
The `--sandbox` option uses bubblewrap on Linux; macOS needs zerobox with `sandbox-backend = "zerobox"`. Network access inside the sandbox stays by default and is turned off with `sandbox-network = false`. The sandbox is a seatbelt against mistakes and does not protect against untrusted code.
The repository is under GPL-3.0. A key for the chosen provider is required. The OpenAI and Anthropic APIs are unavailable from Russia.
How to disable. Remove the binary the way you installed it: `cargo uninstall zerostack`, `brew uninstall zerostack` or by deleting the file from PATH. Settings and sessions live in the configuration directory, which can be removed separately.
FAQ
How do I install zerostack?
The shortest way is `curl -fsSL https://raw.githubusercontent.com/gi-dellav/zerostack/main/install.sh | bash`. Alternatives are `cargo install zerostack`, the Homebrew gi-dellav/tap package, release archives and Nix. After installing, run `/prompt autoconfig`.
How is zerostack different from OpenCode?
OpenCode is written in JavaScript and has a desktop version. zerostack is a Rust terminal agent that needs about 16 MB of memory on average.
Which models does zerostack support?
OpenRouter, OpenAI, Anthropic, Gemini and Ollama, plus custom providers. Exa is wired in for search and page fetching.
How does the zerostack sandbox work?
The `--sandbox` flag runs shell commands inside bubblewrap or zerobox. The ~/.ssh, ~/.aws, ~/.gnupg, ~/.kube and ~/.docker directories are masked as empty, and sandbox-expose restores access. The `--sandbox-required` flag refuses commands when no sandbox is available.
Can I connect MCP servers?
Yes, MCP support is in the default build. Lifecycle hooks with settings in settings.json, mostly compatible with Claude Code, are enabled by a build flag.
Discussion
No questions or reviews yet.
Related
CLI toolsZeroshot
zeroshot
Runs coding agents as a graph: one implements, independent ones verify, failures go back for fixing. The agent that wrote the code does not say it works
A portable .agent folder with memory, skills and protocols that plugs into many coding agents and keeps its knowledge when you switch tools
A Go terminal coding agent that works with any model and asks permission before commands, network access and writes
An open coding agent for the terminal, browser and desktop that works with models from OpenAI and Claude to Ollama
An open terminal coding agent in Rust: reads the project, edits files and runs commands on any model, including a local one through Ollama
A teaching terminal coding agent in Python, built as a "nanoGPT for agents": read it, take it apart and fork it
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| zerostack: lightweight coding agent in Rust (this entry) | no | 1,727 | |
| OpenCode | no | 222,896 | a JavaScript agent with a desktop version, while zerostack is written in Rust and saves memory |
| Aider | no | 49,803 | pair programming with a repo map and auto-commits, with no subagents, sandbox or permission modes |
| Devo | no | 341 | an open-source coding agent in Rust with a persistent Python workspace |
README in short
The project calls zerostack a minimal coding agent. A separate section gives memory and CPU measurements on a 7th-generation Intel i5, next to installation options and sandbox setup.