Postal CLI
A terminal AI coding agent with a full-screen TUI that reads code, edits files and runs commands with any OpenRouter model.
- 205 ★ on the repository
- Last commit
Broad access
Why this level
- The agent runs shell commands and edits project files, and under a lenient policy does so without confirmation.
- Project code is sent to a model through OpenRouter.
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/postalDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
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, and under a lenient policy does so without confirmation.
- Project code is sent to a model through OpenRouter.
This is third-party code. Review the repository files before installing.
What it does
Postal is an open-source coding agent for the terminal. It connects to models through OpenRouter, reads and edits code with built-in tools, runs shell commands and hands part of the work to specialized sub-agents. Progress streams into a full-screen interface. Every mutating action goes through an approval policy the user configures, so the agent can be as autonomous or as careful as needed. Configuration lives in `~/.config/postal/config.toml`, a project overrides it with `.postal/config.toml`, and `AGENTS.md` is picked up automatically. Sessions are saved and can be resumed.
Who it is for. Developers who want a terminal agent like Claude Code but with any model chosen through OpenRouter.
Good fit when
- You must understand an unfamiliar project and find its entry points.
- A test fails and the agent has to find the cause and propose a fix.
- Before refactoring a module you want a plan with no changes first.
- Different tasks suit different models and you switch them with `/model`.
Not a fit when
- You need a Claude or ChatGPT subscription login: Postal reaches models only through OpenRouter.
- The environment has no internet: the agent calls the OpenRouter API.
- You require an agent with a mature plugin ecosystem: the project is small.
Example request
Explain how this project is structured and where the main entry points are, changing nothing.Limitations
Sign-in goes through OpenRouter (`postal login` opens a browser), and models and their cost depend on that account. The agent runs shell commands and edits files, so with a lenient approval policy it can change the project without your review. The code is GPL-3.0, which matters for embedding in closed products. The project is young; configuration docs are in the `docs` folder. The last commit dates to November 2026.
How to disable. Remove the package with `pip uninstall postalcli` and delete `~/.config/postal/` and per-project `.postal/` by hand.
FAQ
How do I install Postal?
Run `pip install postalcli`, then `postal login` to authorize with OpenRouter and `postal` to start the interface.
How do I run one task without the interface?
Pass the prompt as an argument: `postal "Explain how this project is structured"`. The agent does the task and shows progress.
How do I return to a previous session?
`--continue` opens the last session in the directory, `--resume` with an id returns a specific one, and `postal sessions` lists them.
Where are approvals configured?
In `~/.config/postal/config.toml` and the project `.postal/config.toml`. The `/config` command in the interface shows current values.
Does Postal read AGENTS.md?
Yes, the project `AGENTS.md` is picked up automatically.
Discussion
No questions or reviews yet.
Related
CLI toolsOfficial OpenRouter plugin: the agent picks a model by price, generates images and video and breaks down account spending.
A Rust coding agent with a native GUI, a terminal mode, an ACP mode for Zed and an MCP server
A small terminal coding agent in Rust: bring your own API key or local model, per-turn cost, real undo and session branches
A TUI that shows what Claude Code, Codex, Gemini CLI and opencode do in a project: the open file, last-commit diff, live commands
A terminal coding agent that picks a model for each request on its own and shows spend in real time
A Python terminal coding agent in the manner of Claude Code: reads the repository, edits files, runs commands, with memory, sub-agents and MCP
README in short
The README opens with a quick start and sample prompts, then covers launch flags, sessions and configuration locations. A documentation table leads to command and settings references.