zerostack: The Featherweight Coding Agent Built in Rust That Won't Devour Your RAM
Detailed blog content in markdown
When Your AI Assistant Shouldn't Need a Server
Let's be honest: the first time you launched Claude Code, Copilot, or opencode, you probably watched your memory monitor spike and thought, "This is running locally, right?"
That's the paradox we've accepted in the AI tooling space. We want powerful coding agents, but we're okay with them consuming gigabytes of RAM like they're training a GPT model instead of, you know, writing some Python.
zerostack wants to break that assumption.
Rust: The Secret Sauce Nobody's Using (Yet)
Most coding agents in 2024? Built on Node.js, Python, or TypeScript. There's nothing wrong with those ecosystems—except when 300MB of that memory is just the runtime eating lunch while your LLM does the actual thinking.
zerostack is written in Rust, which means:
- No garbage collection pauses — zero runtime overhead
- Memory safety without runtime checks — the compiler does the heavy lifting
- Native binary deployment — no interpreter layer between you and execution
The result? A binary that weighs 12.9MB and uses roughly 16MB of RAM during normal operation. Compare that to the ~300MB baseline of JS-based alternatives, and you start to wonder why we're tolerating the bloat.
Features That Don't Compromise
Here's the thing about "minimalistic"—it doesn't mean "feature-free." zerostack packs a solid punch:
Multi-Provider Flexibility Whether you're team OpenRouter, invested in Anthropic's models, or running everything through a local Ollama instance, zerostack has you covered. No vendor lock-in, no forcing you into a single ecosystem.
Permission Modes That Actually Make Sense Security isn't one-size-fits-all, and neither should your agent's permissions. zerostack offers five modes:
- Restrictive — asks for everything (good for production environments)
- Read-only — agent can explore but can't touch anything
- Guarded — read freely, writes require approval
- Standard — sensible defaults for daily work
- YOLO — unleash chaos (we've all been there)
This granularity matters when you're onboarding junior developers or running automated tasks. Nobody wants a coding agent going rogue on a Friday afternoon.
Terminal UI That Doesn't Suck Crossterm-based interface with markdown rendering, mouse selection, scrollback, and—my personal favorite—reasoning visibility toggling. You can watch your agent think without squinting at walls of text.
The Little Things That Add Up
zerostack also includes some surprisingly useful integrations:
- MCP (Model Context Protocol) support — extend functionality through servers
- Integrated Exa search — web search and fetching without leaving the agent
- Git Worktree integration — switch between branches without losing context
- ACP support — connect editors like Zed directly to your agent
None of these are revolutionary on their own, but having them built-in means fewer dependencies to manage, fewer configurations to debug, and more time actually coding.
Performance Numbers Worth Noting
| Metric | zerostack | Typical JS-based Agent | |--------|-----------|----------------------| | Binary Size | 12.9MB | N/A (needs runtime) | | Idle RAM | ~16MB | ~300MB | | Peak RAM | ~24MB | ~700MB | | Idle CPU | 0.0% | ~2% | | Working CPU | ~1.5% | ~20% |
Those numbers are measured on an Intel i5 7th gen—a chip that's not exactly cutting edge anymore. On modern hardware, the difference becomes even more pronounced.
Who's This For?
zerostack isn't trying to replace your full-featured AI IDE extension. It's for:
- Developers on constrained hardware — everyone who thought "16GB should be enough" in 2019
- CI/CD pipelines — agents that don't eat your build server's resources
- Security-conscious teams — permission modes that actually work
- Rust enthusiasts — because sometimes you want your tools written in the same language you ship
Getting Started
Installation is straightforward if you have Rust installed:
cargo install zerostack
# Or with ACP support for editor integration
cargo install zerostack --features acp
Then set your API key and jump in:
export OPENROUTER_API_KEY="your_key_here"
zerostack
Want to try a specific model? No problem:
zerostack --provider openrouter --model deepseek/deepseek-v4-flash
The Bottom Line
We've normalized bloated AI tooling so thoroughly that 300MB idle RAM feels "lightweight." zerostack challenges that assumption—not by stripping features, but by choosing a different foundation.
Rust isn't magic. But it's the right tool for building something that respects your hardware while still delivering the capabilities you need.
Sometimes the best way to go fast isn't adding more layers—it's removing them.
zerostack is available on crates.io under the GPL-3.0 license. Source code and contributions welcome.
Read in other languages: