Injects only the context your task needs. No prompt bloat. Single binary, no runtime.
See it in action
Open any popular agent and inspect the raw request. You'll find the same wall of tokens sent on every turn — whether you're writing Java or React, fixing a typo or designing an architecture.
| Gemini CLI | OpenCode | zap | |
|---|---|---|---|
| Spring Boot request | 4,096 tokens | 2,003 tokens | 1,889 tokens |
| React request | 4,096 tokens | 2,003 tokens | 1,661 tokens |
| Prompts identical? | ✅ Yes — same bytes | ✅ Yes — same bytes | ❌ No — different skill |
| Java conventions in prompt? | ❌ None | ❌ None | ✅ 650 tokens |
| React conventions in prompt? | ❌ None | ❌ None | ✅ 422 tokens |
Gemini CLI sends the same 4,096-token prompt for both tasks. The word "java" does not appear anywhere in its 68,410-character prompt file.
Six interlocking systems — each designed so every token in the context window earns its place.
Skills are markdown files injected surgically only when your message triggers them. A Rust question gets the Rust skill. A greeting costs 31 tokens, not 2,000.
Learn more →Built with tree-sitter + SQLite. The model knows what already exists before deciding what to create — no duplicate files, no invented patterns.
Learn more →See exactly what's in the context window. Remove stale messages with /context drop — without starting a new session.
Written in Rust. No Python venv, no Node.js, no Docker. Cold start in milliseconds. Drop it on your PATH and it works.
Learn more →MCP servers stay pending at startup. Tool schemas only enter context when explicitly needed — not 10,000 tokens dumped on every turn.
Learn more →Works with Claude, Gemini, OpenAI, DeepSeek, and local models via LM Studio or Ollama. Switch providers mid-session with /provider.
Pick your platform. No runtime dependencies — just a single binary.
Restart your terminal, or run source ~/.cargo/env.
Or configure Gemini, OpenAI, or a local model in ~/.agent.toml.
Type /init on first use to let zap learn your codebase.
Prefer a pre-built binary? Download from releases ↗
Pre-built binary available on the releases page ↗
Downloads and installs the pre-built binary. No Rust required.
Prefer Rust? cargo install zap-coding-agent works too — get Rust here ↗