# zerostack

A minimal, memory-efficient coding agent written in Rust, with a terminal UI, session persistence, permission controls and support for many model providers.

zerostack is a coding agent written in Rust and optimized for a small memory footprint and fast performance, inspired by projects such as Pi and OpenCode. It connects to OpenRouter, OpenAI, Anthropic, Gemini, Ollama or custom providers, exposes the standard set of tools coding agents use, and supports the Model Context Protocol for additional tooling.

Its permission system offers five configurable modes with per-tool rules and session allowlists, and sessions can be saved, loaded and resumed with automatic compaction to stay within a model's context window. The terminal UI is built on crossterm with markdown rendering, mouse selection and a toggle for viewing the agent's reasoning. Gated features include an Agent Communication Protocol server for editor integration, persistent Markdown memory across sessions, lifecycle hooks compatible with Claude Code's settings format, and a second advisor model a session can consult mid-task. It is licensed under GPL-3.0.

Website: https://gi-dellav.github.io/zerostack/
