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
CLI

Broad access

Why this level

  • The agent runs shell commands and edits files, and without `--sandbox` it does so with your rights
All reasons and checks

gi-dellav/zerostack

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/zerostack

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

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

CLI tools

Zeroshot

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

CLIBroad access2.1KRepository stars

A portable .agent folder with memory, skills and protocols that plugs into many coding agents and keeps its knowledge when you switch tools

CLIBroad access2.3KRepository stars

A Go terminal coding agent that works with any model and asks permission before commands, network access and writes

CLIBroad access1.8KRepository stars

An open coding agent for the terminal, browser and desktop that works with models from OpenAI and Claude to Ollama

CLIBroad access359Repository stars

An open terminal coding agent in Rust: reads the project, edits files and runs commands on any model, including a local one through Ollama

CLIBroad access41.1KRepository stars

A teaching terminal coding agent in Python, built as a "nanoGPT for agents": read it, take it apart and fork it

CLIBroad access1.9KRepository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialRepository starsMain difference
zerostack: lightweight coding agent in Rust (this entry)no1,727
OpenCodeno222,896a JavaScript agent with a desktop version, while zerostack is written in Rust and saves memory
Aiderno49,803pair programming with a repo map and auto-commits, with no subagents, sandbox or permission modes
Devono341an 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.

README badge

Report a problem

Foxx AIzerostack: lightweight coding agent in Rust
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.