The fastest agent in your terminal: one Rust binary, any model, at its prompt before the others have finished loading.
# Linux and macOS
curl -fsSL https://raw.githubusercontent.com/teddytennant/wizard/main/install.sh | bash
# Homebrew
brew install teddytennant/tap/wizard
# Nix
nix run github:teddytennant/wizard
# Arch: not on the AUR yet, build the package from the repo
cd contrib/aur/wizard-bin && makepkg -siEvery other flavor (a preinstalled local model, the window, from source, Termux) is in Getting started.
| agent | warm start | cold start | RSS at the prompt | install |
|---|---|---|---|---|
| wizard 3.1 | 6 ms | 135 ms | 20 MB | 26 MB |
| Codex CLI 0.154.0 | 34 ms | 511 ms | 179 MB | 553 MB |
| Goose 1.50.0 | 54 ms | 414 ms | 72 MB | 315 MB |
| Crush 0.93.1 | 80 ms | 445 ms | 81 MB | 96 MB |
| Claude Code 2.1.268 | 268 ms | 1035 ms | 241 MB | 219 MB |
| Aider 0.86.2 | 822 ms | 6747 ms | 200 MB | 664 MB |
| OpenCode 1.18.30 | 2847 ms | 6230 ms | 786 MB | 185 MB |
Measured 2026-09-11 with bench/startup/run.sh on an idle 16-core box: one ubuntu:24.04 container per agent, installed the way its README says, phone-home switched off where the agent offers a switch, the model endpoint on a dead local port, ten pty starts each with the page cache dropped before the first. Warm is the median of starts two to ten. The full table, each agent's setup, the host record and what is not measured are in bench/startup/results.md.
The first run is one screen: sign in with xAI or ChatGPT, paste an API key, or run a model locally. Pick one and the TUI opens with the config saved and, in a git repo, three starter prompts read off the directory, so ↓ and Enter is a first turn. That screen is up in single-digit milliseconds on a release build, timed by contrib/first-run-pty.py; the rest is in Getting started.
| agent | model | resolved of 89 |
|---|---|---|
| wizard 3.1.1 | Grok 4.6 | 66 (74.2%) |
| Terminus 2, same box | Grok 4.6 | 69 (77.5%) |
| Grok Build 1.0.24, same box | Grok 4.6 | 69 (77.5%) |
| Terminus 2, public reference (Artificial Analysis, on e2b) | Grok 4.6 | 88.4% |
Run 2026-09-12 with Harbor, one trial per task, through the tbench/ adapter. Wizard's run had every public copy of the benchmark blocked, so no pass came from reading a task's own tests; the two same-box control rows are earlier runs with their fetched-answer passes counted as failures. One trial per task is noisy: three tries each on the 35 hardest tasks resolved 46.7% where a single try resolved 34.3%. Wizard's default prompt was also tuned on 10 of the 89 tasks. The per-task list, every failure's reason, and what is being changed are in tbench/RESULTS.md.
- Any model. xAI, OpenAI, Anthropic, Gemini, DeepSeek, Groq, Mistral, OpenRouter, Cloudflare Workers AI, Ollama and any OpenAI-compatible endpoint;
/providerswitches live. Keys live in env vars or~/.wizard/credentials.toml(0600). Providers - Local models. Pick Local and Wizard sizes a Qwen GGUF to your hardware and runs llama.cpp's
llama-serverfor you. Bring your own model /fusion. A panel of your providers critique each other's drafts, then you get one answer. Fusion/ultra. N read-only subagents on the model you're using, then a judge. Ultra/evolve. Skills, MCP servers, scripted tools (embedded LuaJIT, no interpreter to install) and subagents as plain files that go live on/reload; deep evolve rebuilds the binary behind a locked build, the test suite and a smoke test, with the old binary onemvaway. Self-extension- MCP, both directions. stdio and HTTP servers join the tool registry at runtime;
wizard mcp-serveserves Wizard's own tools to any client. MCP - Editors.
wizard acpruns it inside Zed, Neovim and Emacs over the Agent Client Protocol. ACP - Modes. Genie is the TUI, sovereign is headless (
wizard -p),--continuousis a mission that outlives outages. Modes - Gateway. Headless as a Telegram bot, each message a turn in your project. Gateway
- Memory. Plain markdown under
~/.wizard/memory/, indexed into the prompt each session;/memoryreads it back. Memory - Fork it.
/publishputs your evolved Wizard on your GitHub with its own installer;wizard skillsshares one piece from a git-backed registry. Fork and distribute - A window (preview).
wizard guifrom a--features nativebuild, orwizard-native guifrom the installer. Native GUI
- Linux (x86_64, aarch64), macOS (Apple Silicon and Intel) and Termux on Android from source. Windows runs it under WSL2.
- Releases are signed with minisign and both
install.shandwizard updaterefuse what they cannot verify; that needsminisign, an OpenSSL with ed25519 and blake2b, orpython3, which macOS ships. Install - Small local models are worse than frontier models: a quantized 4B to 36B Qwen misformats tool calls and needs more steering, and the 4B tier that an 8 GB machine gets is a floor, not a good agent. Model tiers
- No sandbox. Tools run with your privileges and nothing asks first. Read SECURITY.md before an autonomous run and prefer a container.
- Context is finite. Wizard reads selectively and compacts old history, but a long session still pushes out early detail. Agent-managed context
Every page is indexed in docs/README.md, grouped by what you are trying to do. CHANGELOG.md has what changed and what breaks; WIZARD.md is the agent's charter, inherited by every fork.
Rust 2024, Ratatui, Tokio, embedded LuaJIT (mlua). Single binary.
git clone https://github.com/teddytennant/wizard
cd wizard
cargo build --release
./target/release/wizardnix develop gives a shell with the Rust toolchain and llama-cpp. Local inference is llama.cpp; Ollama is a supported provider.
MIT AND Apache-2.0, both at once. Wizard's own code is MIT (LICENSE-MIT). The terminal-UI code ported from OpenAI Codex and xAI grok-build stays under Apache-2.0 (LICENSE-APACHE); NOTICE names every file it landed in and docs/ui-skins.md has the file-by-file table.
