Documentation · Lua API · Releases · Issues
Warning
smelt is beta until 1.0. Interfaces may change between releases, so stay on the latest version.
Most coding agents are heavy and hard to change. smelt uses a fraction of their memory and CPU, and you reshape it with plain Lua files that reload live.
- Lua plugins. Edit a Lua file to change keymaps, commands, tools or the UI. Changes apply live, with no restart and no build.
- Own terminal renderer. Built from scratch for the terminal, so typing and
scrolling stay instant even in sessions with tens of thousands of messages.
Why not
ratatui? - Vim editor. The same motions work in the prompt and the transcript, so you can search and yank agent output without the mouse.
- No config needed. Run with flags, or use
smelt authfor ChatGPT, GitHub Copilot, and Kimi Code.
Why we made these choices, and what they cost: Design decisions.
Same model, same tasks: Terminal-Bench 2.1 with Qwen3.8 27B, 360 runs. Medians, lower is better.
| Memory | CPU time | Wall time | |
|---|---|---|---|
| smelt | 0.20 GiB | 6.1 s | 352 s |
| pi | 0.71 GiB | 9.7 s | 399 s |
| codex | 2.09 GiB | 9.8 s | 372 s |
| claude code | 1.42 GiB | 17.5 s | 783 s |
| opencode | 2.80 GiB | 116 s | 421 s |
| mini-swe-agent | 1.49 GiB | 13.1 s | 570 s |
Measured per container (agent, tools and task): 20 tasks, 3 attempts each, 2 CPUs and 4 GiB. Full results
curl -fsSL https://smeltagent.dev/install.sh | shOr grab a prebuilt binary (Linux and macOS on x86_64 and aarch64, Windows on
x86_64) from the Releases page. Extract
the archive and put smelt (smelt.exe on Windows) on your PATH, or install
from source:
cargo install --locked --git https://github.com/leonardcser/smelt.git smelt-agentSubscription providers (ChatGPT Pro/Plus, GitHub Copilot, Kimi Code):
smelt auth # one-time login
smelt # provider auto-detected from credentialsClaude Code (runs your installed Claude Code agent):
claude auth login # authenticate through Claude Code
smelt # claude-code models appear in the pickerClaude Code owns authentication, the agent loop, native tools, and context management. smelt provides the terminal UI, permissions, and additional tools through MCP. It does not copy subscription credentials or impersonate Claude Code's API requests. See the Claude Code provider docs for configuration and limitations. smelt is not affiliated with Anthropic.
API-key providers (any OpenAI-compatible endpoint):
# local model via Ollama
smelt --model qwen3.6:27b --api-base http://localhost:11434/v1
# OpenAI, Anthropic, OpenRouter, etc.
smelt --model gpt-5.5 --api-base https://api.openai.com/v1 --api-key-env OPENAI_API_KEYOr just run smelt with no arguments and follow the wizard. The default mode
cycle is Normal → Plan → Apply → Yolo. Plan mode is bundled and autoloaded.
Optional bundled plugins include which_key, the local request inspector, and
LSP-backed semantic code tools; enable them from ~/.config/smelt/init.lua.
Full documentation for configuration, Lua API, keybindings, permissions, providers, and plugin authoring lives at smeltagent.dev.
MIT, see LICENSE. Inspired by Claude Code and Neovim.
