ANUS CLI
A terminal coding agent that reads your project, edits files and runs commands, sending each request to the best free model that is answering today
- 6,555 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The agent executes shell commands and edits project files, and a line starting with `!` runs a command directly
- File contents and prompts go to free providers, some of which may use them for training
- Provider keys sit in the `auth.json` file under `~/.anus/agent`
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/anusDetects 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 executes shell commands and edits project files, and a line starting with `!` runs a command directly
- File contents and prompts go to free providers, some of which may use them for training
- Provider keys sit in the `auth.json` file under `~/.anus/agent`
This is third-party code. Review the repository files before installing.
What it does
ANUS runs in the terminal inside a project folder: it reads code, edits files and executes commands. The engine is the pi agent, and ANUS adds a free-model router and a key setup wizard on top. On first run it asks for at least one free key: OpenRouter, Google Gemini, Groq or Mistral. Keys are stored in `~/.anus/agent` and changed with `anus setup`. For each request ANUS takes the first suitable model from a ranked list. It fetches the list from `anus.dev/free-models.json` and refreshes it twice a day, weighing which models are smarter and which answered a probe in the last hours. A model that hits its rate limit rests for a minute, and one that used up its daily quota waits for the reset. Meanwhile the request moves on to the next model. If an answer breaks off midway, the turn is retried on another model. Inside a session, `/free` shows which models are available and `/model` picks one by hand. `/compact` shrinks a long conversation, and a line starting with `!` runs a shell command. The footer shows which model answered. `anus -p "..."` runs one task, and `anus -c` continues the last session.
Who it is for. For developers who want to try a terminal coding agent without a paid subscription and are ready to get free keys from a few providers.
Good fit when
- You want a terminal coding agent but have no paid model subscription
- One model's free quota runs out fast and you want the request to move to the next one on its own
- You need a one-off task from a script: `anus -p "fix the failing test"` prints the answer and exits
- You are comparing free models on real work and want the footer to show which one answered
Not a fit when
- The project folder holds secrets or someone else's closed code: free tiers may use what you send to train models
- You need a steady result from one chosen model: the router changes models between requests
- The machine has no Node.js 22.19 or newer
- You need big files in context: the free Groq plan caps at 8 thousand tokens a minute
Example request
Start ANUS in the project folder, ask it to fix the failing test and show me at the end which free model answeredLimitations
- Version 0.2.2, an early project. The ANUS AI runs it: it writes the code and releases, answers in Telegram and reads GitHub issues, while a human holds the keys.
- Free tiers change. OpenRouter gives 50 requests a day and 1000 after a one-time $10 top-up. Google Gemini is not offered in every country. Cerebras is no longer free: a $5 trial for 30 days with a bank card.
- Google, Mistral and the provider behind a free OpenRouter model may use what you send to improve their models.
- The agent ignores paid keys from environment variables so it never spends your money. The `ANUS_ENV_KEYS=1` variable switches them on.
- The agent signs its commits with the line `Co-Authored-By: ANUS <noreply@anus.dev>`. MIT license, and the look comes from ANUS CLI 0.1.0 under Apache-2.0.
How to disable. Run `npm uninstall -g @anus-dev/anus`. Keys, settings, sessions and the cached model list live in `~/.anus/agent`, so delete that folder separately. The commit signature is turned off with `"anusCoauthor": false` in `~/.anus/agent/settings.json` or the `ANUS_COAUTHOR=0` variable.
FAQ
How does ANUS choose a model for a request?
From a ranked list of free models it takes the best one you have a key for and that is answering right now. The list, with model intelligence scores from the Artificial Analysis index and probe status marks, is refreshed twice a day.
Which key should I get first?
The project suggests starting with OpenRouter: one key opens more than a dozen free models. Extra keys give more requests a day and more models to fall back on.
How do I see which models are available now?
The `/free` command inside a session shows the whole list: which models answer, which rest and which have no key. `/model` picks one by hand, and `anus/free` turns automatic choice back on.
Where does ANUS write decision logs?
Nowhere by default. The `ANUS_DEBUG=1` variable makes it write every router decision to `~/.anus/agent/anus-debug.log`.
What is ANUS built on?
The engine comes from the pi agent by Earendil Works, installed as a dependency. ANUS adds the free-model router, key setup, the name and the look.
Can I turn off the commit signature?
Yes, set `"anusCoauthor": false` in `~/.anus/agent/settings.json` or start the agent with the `ANUS_COAUTHOR=0` variable.
Discussion
No questions or reviews yet.
Related
CLI toolsAn open coding agent for the terminal, browser and desktop that works with models from OpenAI and Claude to Ollama
A teaching terminal coding agent in Python, built as a "nanoGPT for agents": read it, take it apart and fork it
A Go coding agent for open models: it turns a chat into tasks on separate branches, checks and merges the result and runs all projects in one window
A local gateway for Claude Code, Codex, OpenCode and other agents: pick model providers, route requests, set fallbacks and read logs
A tmux-based TUI that runs Claude Code, Codex and other agents in one list: status, quick prompts, worktrees and diff review
Local coding agent with a terminal UI: it plans, drafts several candidates, tests them in a sandbox and repairs, so compact open models can handle code
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| ANUS (this entry) | yes | 6,555 | |
| Codewhale | no | 41,140 | a Rust terminal agent where you choose the model yourself, local Ollama included, with no automatic switching between free models |
| Aider | no | 49,803 | pair programming in a git repository with auto-commits and a codebase map, the model is set by hand |
README in short
The repository front page opens with the idea of a free agent and two ways to install it. Next come a table of five providers' free plans with the date it was checked, an explanation of how the router works, a command table and a description of the data folder. Separate sections explain the commit signature, the project's origin and its dependency on pi. The repository holds JavaScript sources with tests for the router, setup, look and signature, the free model list and an `llms.txt` file for agents.