Blazing-fast coding agent
in your terminal.
A drop-in alternative to claude-code, written in C++26. A 17.6 MB static binary with millisecond cold start, sandboxed by default, one-command SSH air-gap, and it runs inside Zed over ACP. Sign in with your existing Claude Pro/Max, ChatGPT, Copilot, or Kimi — or point it at DeepSeek, Gemini, Grok, OpenAI, Groq, or a local Ollama model. No Node, no Python, no npm install.
Install in one line
No Node, no Python, no npm install — just a single 17.6 MB static binary.
Size & cold-start are the Linux x86_64 build, measured on each deploy; other platforms vary — see the per-platform download sizes.
Speed
Native, not interpreted.
Measured on the same Arch box, same shell, same day. No JIT warmup, no require() graph to walk, no GC ticking while bytes stream in. Figures are the Linux x86_64 build — other platforms here.
| agentty (C++26) | claude-code (Node) | |
|---|---|---|
Cold-start --help | ~5 ms | ~150 ms |
--version | ~5 ms | ~60 ms |
| Binary on disk | 17.6 MB | 222 MB (+ Node runtime) |
| Install | curl | chmod +x | npm i -g + Node |
| GC pauses mid-stream | None | V8 GC |
Why agentty
Everything the official client does — and the things it doesn't.
A full coding agent, not a thin wrapper. Grouped by what you came for.
Performance & footprint
Native speed
C++26, statically linked, posix_spawn everywhere. Spawns in microseconds, no GC pauses mid-stream, no warmup. The redraw loop is a poll(2) over the model stream and your input fd — every keystroke lands on the next frame.
One static binary
17.6 MB. curl | chmod +x | run. No Node runtime, no npm install, no version drift between machines.
Inline render
Lives at the bottom of your terminal, preserves scrollback, never takes over the screen. Diffs, todos, and exit codes get purpose-built widgets.
Models & auth
Any model
Claude by default via your Pro/Max subscription — or sign in with ChatGPT, Copilot, or Kimi, or key in DeepSeek, Gemini, Grok, GPT, Groq, OpenRouter, Together, Cerebras, and local Ollama. Switch backends and models live with ^P / ^/, no restart. Providers →
Adjustable reasoning
Dial thinking effort per model — fast answers for small edits, deep reasoning for hard refactors, without leaving the thread.
Paste images
Drop a PNG/JPEG/GIF/WebP path or ^V from the clipboard — screenshots, diagrams, and mockups go to the model inline.
Safety & isolation
Sandbox by default
Every shell and build call runs inside bwrap (Linux) / sandbox-exec (macOS). Workspace, system libs, and network stay reachable; ~/.ssh, /etc, and other projects are read-only. An approved bash call still can't cat ~/.ssh/id_rsa.
Permission profiles
Start in Ask; S-Tab cycles to Write or Minimal. Every effect is gated by a compile-time permission matrix. Profiles →
Workspace boundary
Filesystem tools refuse paths outside the launch directory. Opt out explicitly with --workspace /.
Workflow & memory
Smart Mode
A self-supervised orchestrator that puts each turn on the model it deserves. Pin your flagship / mid / cheap models to Strategic / Implementation / Utility roles — the lead does the thinking and delegates mechanical work to subagents, reasoning effort scales to each turn's complexity, and a per-workspace prior learns your repo across sessions so routing gets sharper the more you use it. Everything toggleable; off is a byte-for-byte no-op. Smart Mode →
Learns your codebase
Agent Skills teach it your conventions from a SKILL.md; remember/forget give it durable cross-session memory; search_docs runs a frontier-grade local retrieval engine over your knowledge corpus — hybrid BM25 + dense embeddings, HNSW ANN, GraphRAG expansion, and a learning loop that gets sharper the more you use it. All local, zero dependencies. Teach it once, every thread knows. Skills →
Threads that persist
Every conversation is a saved thread you reopen with ^J. Long threads compact automatically so you never blow the context window mid-task.
Isolated subagents
The task tool spawns a subagent with its own context window, then returns one condensed report — keeping your main thread focused.
Run code blocks
When a reply hands you shell commands, ^G runs one interactively on your real terminal — sudo prompts work, output streams live, ^C kills the command not agentty.
Rewind to any checkpoint
Every user turn in a git repo pins a worktree snapshot. The palette lists every checkpoint with a N files · +A −D summary of what's changed since, so Enter rewinds files and transcript — never blind.
Mentions & palette
Type @ to mention a file, # to jump to a symbol, / or ^K for the command palette. The composer knows your project.
Reach & extensibility
One-command SSH air-gap
agentty airgap user@host runs the agent on a box with no direct internet — your laptop relays the bytes over SOCKS5-over-SSH. TLS pins on the real upstreams end-to-end, so the network in between can't MITM you.
Runs inside Zed (ACP)
agentty acp speaks the Agent Client Protocol — a first-class agent panel in Zed with streaming text, inline diffs, and native permission prompts. Same engine as the TUI. Set it up →
MCP, both ways
Serve agentty's tools to any MCP client with mcp-serve, or consume other MCP servers from .agentty/mcp.json — their tools appear indistinguishable from native ones. MCP →
Bring your own model
Claude by default. Any model on demand.
Sign in once with your Claude Pro/Max subscription, or point agentty at any OpenAI-compatible backend. Switch live mid-thread with ^P — no restart, no re-auth.
agentty | Claude via OAuth (Pro/Max) or API key — the default |
--provider openai | GPT and o-series on api.openai.com |
--provider groq | Llama/Mixtral on Groq LPUs — very fast |
--provider openrouter | Any model via openrouter.ai |
--provider together | Open models on together.ai |
--provider cerebras | Wafer-scale inference — very fast |
--provider ollama | Local models at localhost:11434 — no key, no cloud |
--provider host:port | Any raw OpenAI-compatible endpoint |
Behind an enterprise gateway? --auth-header X-API-Key sends your key under a custom header instead of the standard bearer.
How it compares
The single-binary pick.
| agentty | claude-code | aider | |
|---|---|---|---|
| Language / runtime | C++26 — static binary | TypeScript / Node | Python |
| Footprint | 17.6 MB | npm + Node runtime | pip + Python runtime |
| Platforms | Linux · macOS · Windows | Linux · macOS · Windows | Linux · macOS · Windows |
| Air-gapped mode | Yes (SOCKS5/SSH) | No | No |
| Editor integration (ACP) | Yes (Zed) | Yes (Zed) | No |
| Auth | OAuth (Pro/Max) + API key | OAuth + API key | per-provider env vars |
| Models | Claude · ChatGPT · Copilot · Kimi · DeepSeek · Gemini · Grok · GPT · Groq · Ollama | Claude (Anthropic) | many providers |
Tools
A purpose-built widget for everything.
Diffs render as diffs, search groups by file, bash shows exit codes, todos become checklists. Every tool effect is gated by a compile-time permission matrix.
read · write · edit | File IO with atomic writes and diff rendering |
grep · glob · list_dir · find_definition | Search, listing, and symbol lookup across the codebase |
bash · diagnostics | Sandboxed shell and build, with exit codes |
git_status · git_diff · git_log · git_commit | Version control, rendered natively |
web_fetch · web_search | Reach the web for docs and APIs |
search_docs · search_code · skill · task | Local RAG over your knowledge corpus, semantic code search, on-demand skills, and isolated subagents |
todo · remember · forget · wipe_memory | Planning and durable cross-session memory |
“No JIT warmup, norequire()graph to walk, no GC ticking while bytes stream in from the API. The redraw loop is apoll(2)over the model stream and your input fd — every keystroke lands on the next frame.”— from the design notes
Open source
Built in the open, MIT licensed.
Read the source
The reducer is one std::visit over a closed event sum; the view is a single Model → Element function; the permission matrix is a constexpr with static_asserts. Change a policy cell and the build breaks — not a test nobody runs.
Get involved
Bug reports, fixes, and well-scoped features are all welcome. Start with the contributing guide.
How to contribute →Join the community
Hang out in the Discord to ask questions, share sessions, and get help — there's an AI helper bot that answers agentty questions using the real agent.
Join the Discord →Ready in one line.
Linux, macOS & Windows · x86_64 & aarch64. The same line updates it.
curl -fsSL https://agentty.org/install.sh | sh