Albatross CLI
A small terminal coding agent in Rust: bring your own API key or local model, per-turn cost, real undo and session branches
- 244 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The agent runs shell commands and edits project files, with approvals cached
- API keys sit in a file on the user's disk
- Extension packages from npm and Git execute third-party code
Install
Manual install
brew install morganlinton/tap/albatrossRoute for macOS. Alternative: cargo install albatross-cli.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent runs shell commands and edits project files, with approvals cached
- API keys sit in a file on the user's disk
- Extension packages from npm and Git execute third-party code
This is third-party code. Review the repository files before installing.
What it does
Albatross is a terminal coding agent written in Rust. It connects to your own key (OpenAI or OpenRouter) or a local model (Ollama, LM Studio, MLX, llama.cpp), and the commands, tools and session log stay the same. You switch providers mid-session with `/provider`. The usual tool kit is included: read, edit, search, shell and test runs. Distinctive parts include a status line with per-turn and session cost, `/undo` to revert the last turn's file changes, `/path fork` to try two fixes and pick the winner, and multi-model routing (`/route select` scores candidates, cost and reasons). `/plan` expands an intent into a spec, and `/iterate` runs a generate-and-evaluate loop where a separate critic agent scores each pass against a rubric. MCP servers plug into `mcpServers` in the config, and packages of extensions, skills, prompt templates and themes install from npm or Git. Keys are entered with `/auth` and kept in a 0600 file, and every mutating call shows a diff and waits for approval.
Who it is for. Developers who want a terminal coding agent with their own key or a local model and a visible cost per turn.
Good fit when
- You want to compare two fixes for a task and pick the better one without separate worktrees
- The agent broke files in the last turn and you need to revert them along with files it created
- You work on a local model through Ollama or LM Studio and bring in a cloud provider for hard tasks
- You want the cost of each turn and the session in the status line
- A hard change needs a loop in which a separate critic scores the result against a rubric
Not a fit when
- You want a ready subscription instead of a key: Albatross works with your own API key or a local model
- You need an agent with a rich extension ecosystem and a large community: the project is small and recent
- You need a graphical shell: the interface is a terminal
Example request
Start Albatross with a local Ollama model, expand the task plan with /plan and show what a turn costsLimitations
The project is small: the last commit is from September 2026. Cost is shown when the provider reports it or a price table exists; local models show tokens only. Building from source goes through `cargo build --release`. npm lifecycle scripts of extension packages stay disabled by default, which is worth checking before installing third-party packages. Edit approvals are cached as allow once, allow for the session or always allow.
How to disable. Remove the binary: brew uninstall albatross or cargo uninstall albatross-cli. Keys and configuration sit under ~/.config/albatross/; delete the folder by hand.
FAQ
Which models work?
Cloud ones through an OpenAI or OpenRouter key and local ones through Ollama, LM Studio, MLX and llama.cpp. Switch providers in session with /provider.
How does undo work?
The /undo command reverts the file changes of the agent's last turn, including files it created and files that were not tracked in git when the turn started.
What does /path fork do?
It branches the conversation and workspace: you can try two fixes, diff them and choose the winner with /path pick, with no separate worktree.
How do I add MCP?
Add servers under mcpServers in the config and their tools join the agent's list. Extensions, skills, prompt templates and themes install as npm or Git packages.
Where are keys stored?
The /auth command writes a key to a 0600 file under ~/.config/albatross/. Environment variables take precedence when set.
Discussion
No questions or reviews yet.
Related
CLI toolsTerminal coding agent in Rust: four permission modes, checkpoints, subagents, skills, hooks, MCP and local models
A Rust coding agent with a native GUI, a terminal mode, an ACP mode for Zed and an MCP server
A Rust coding agent in the terminal: extensions in any language over JSON-RPC, cloud and local models, audio, computer control
A Rust SDK for coding agents and the ready-made abstract CLI: REPL, 34 tools, MCP, graph memory, Anthropic and OpenAI, JSON output for CI
Rust coding agent for the terminal and CI built around DeepSeek models that reads code, edits files and runs commands
A terminal coding agent in Go: GLM, DeepSeek and local Ollama models, 59 built-in tools and MCP
README in short
The project presents itself as a small terminal coding harness with your own key, a local model or an MCP server. Install, first session, providers, tools and commands, cost and credentials, extensions, and configuration and troubleshooting references follow.