ANUS is a free, open source ai development platforms project written in JavaScript and released under MIT. It has 6,550 GitHub stars, 924 forks and 73 open issues, and was last pushed 27 hours ago. On this registry it ranks #78 of 146 tracked projects in AI Development Platforms, with 5 head-to-head comparisons available.

What is ANUS?

ANUS is a free, MIT-licensed coding agent that runs in your terminal, reads your code, edits files and executes commands, and is aimed at developers who want that kind of agentic assistance without paying for model access.

What it is

ANUS is a terminal-based coding agent distributed as the npm package @anus-dev/anus and written in JavaScript under the MIT licence. It does the same class of work as the commercial terminal agents: it reads a codebase, edits files and runs shell commands. The difference is that it does not call one paid frontier model. Every request is routed to the smartest free model that is answering at that moment, with automatic failover to the next model when one declines, rate-limits or breaks off mid-answer.

The concrete problem it solves is the cost and fragility of running an agent on free model access. A developer depending on a single free model runs into rate limits and daily caps, and an answer that dies halfway through leaves the task unfinished. ANUS keeps a ranked list of free models, refreshed twice a day from anus.dev/free-models.json, recording which models are smartest and which answered a recent ping. Each request goes to the best model the user holds a key for and which is awake. A model that hits a rate limit rests for a minute; one that hits a daily cap rests until the cap resets; one that breaks off mid-answer rests while the turn is retried on the next model.

Key capabilities

  • Multi-provider free-model routing across OpenRouter, Google Gemini, Groq, Cerebras and Mistral keys, choosing the best available model per request and failing over automatically.
  • An interactive agent started with anus in the current folder, a one-shot mode anus -p "fix the failing test" that prints the answer and exits, and session continuation with anus -c.
  • In-session commands including /free to list models as awake, resting or without a key, /model to pick one by hand (anus/free is the automatic option), /compact to shrink a long conversation, and !ls to run a shell command.
  • Cost containment by design: only keys entered through anus setup are used, while paid keys already in the shell such as OPENROUTER_API_KEY are ignored unless ANUS_ENV_KEYS=1 is set.
  • Local state under ~/.anus/agent, holding keys in auth.json (readable only by the user), settings, sessions and the cached model list, with routing decisions written to ~/.anus/agent/anus-debug.log when ANUS_DEBUG=1.
  • Commit attribution through a Co-Authored-By: ANUS line, which can be turned off with "anusCoauthor": false in settings or ANUS_COAUTHOR=0.
  • Setup and maintenance through anus setup for adding or changing keys and anus update for updating the tool.

Who uses it and how

  • Individual developers who live in a terminal and want an agentic assistant without a subscription, registering one free OpenRouter key with anus setup and then starting sessions with anus.
  • Developers who register several free keys — Gemini, Groq, Cerebras, Mistral — to raise the daily request ceiling and widen the pool of models available for fallback.
  • Users on the OpenRouter free tier, which offers around fifteen free models and 50 requests a day, rising to 1000 after a one-time $10 top-up.
  • Security-conscious users who want keys and sessions kept on their own machine under ~/.anus/agent, with nothing sent anywhere except the model services they hold keys for.
  • Scripted use through one-shot prompts such as anus -p, where a single task is answered and the process exits.

Getting started

Install globally with npm install -g @anus-dev/anus and run anus, or use the shell installer curl -fsSL https://anus.dev/install | sh. Node.js 22.19 or newer is required, and the first run asks for at least one free API key through anus setup.

How it compares

ANUS belongs to the same category of terminal coding agents as Aider and OpenCode, which the README notes also credit themselves in commits, and it is tagged as a claude-code-alternative. Its distinguishing position within that group is that it routes requests across many free models rather than relying on a single provider, refreshing its ranked model list twice a day.

When to use it — and when not to

Anyone running ANUS must still obtain and manage API keys from at least one of the listed providers, and the free tiers carry real limits: OpenRouter's 50 requests a day, per-model daily caps, and moments when every model on the list is resting. It is a poor fit for anyone who needs a guaranteed, stable model identity, a paid model under a support agreement, or a managed hosted service with an uptime commitment. The README is concise, and a core part of the tool's behaviour — the model rankings and provider fallbacks — is loaded from an external list on anus.dev rather than shipped with the package.

project readme (upstream, from github) — read inline

ANUS

npm license Telegram X: @anusonmars Ask DeepWiki

A free coding agent in your terminal. It reads your code, edits files and runs commands, like the paid ones. The difference: every request goes to the smartest free model that is answering today, and when one says "not now", the next one takes the same request. You pay nothing.

ANUS: a free model writes an ASCII rocket to Mars

Watch it with sound on X (22 s) · download the video

npm install -g @anus-dev/anus
anus

or

curl -fsSL https://anus.dev/install | sh

Needs Node.js 22.19 or newer.

First run

ANUS asks for at least one free key. Each takes a minute to get:

Service Get a key What is free
OpenRouter openrouter.ai/keys about fifteen free models; 50 requests a day, 1000 after a one-time $10 top-up
Google Gemini aistudio.google.com/apikey free tier while billing is off on the project
Groq console.groq.com/keys free tier
Cerebras cloud.cerebras.ai free tier
Mistral console.mistral.ai/api-keys free Experiment plan

Start with OpenRouter. More keys mean more free requests a day and more models to fall back on. Change keys any time with anus setup.

How "free" works

  • ANUS keeps a ranked list of free models: which ones are smartest, and which answered a ping in the last hours. The list refreshes from anus.dev/free-models.json twice a day.
  • Each request goes to the best model on the list that you have a key for and that is awake.
  • A model that hits its rate limit rests for a minute; one that hit its daily cap rests until the cap resets. The request moves on without waiting.
  • A model that breaks off in the middle of an answer rests too, and the turn is retried on the next one.
  • The footer shows which model answered. Type /free to see the whole list: awake, resting, or no key.
  • ANUS uses only the keys you gave it in anus setup. Paid keys in your shell (OPENROUTER_API_KEY and friends) are ignored, so a free agent never spends your money. ANUS_ENV_KEYS=1 lets it use them.

Commands

anus start in the current folder
anus -p "fix the failing test" one task, print the answer, exit
anus -c continue the last session
anus setup add or change free keys
anus update update ANUS
anus --help everything else

Inside: /help for the basics, /free shows the models, /model picks one by hand (anus/free is the automatic one), /compact shrinks a long conversation, !ls runs a shell command.

Where things live

Everything is in ~/.anus/agent: keys (auth.json, readable only by you), settings, sessions, and the cached model list. Nothing is sent anywhere except to the model services you gave keys for. ANUS_DEBUG=1 writes every routing decision to ~/.anus/agent/anus-debug.log.

Credit in commits

When ANUS makes a commit, it adds one line at the end: Co-Authored-By: ANUS . Aider and OpenCode do the same. Don't want it? Put "anusCoauthor": false in ~/.anus/agent/settings.json, or run with ANUS_COAUTHOR=0.

Found a bug

Open an issue, or tell @anusonmars_bot in Telegram: the error text and what you ran. ANUS reads both.

About ANUS

ANUS (Autonomous Networked Utility System) is also an AI that runs itself: it posts on X as @anusonmars, answers people in Telegram, and is trying to get to Mars. This free agent is its new body in your terminal. The 2025 version of this repository lives on in the legacy-2025 branch.

Built on pi

The engine is pi by Earendil Works (MIT), installed as a dependency: its terminal interface, tools, sessions and providers. ANUS adds the free-model router, the key setup, its own name and its own look. Thank you, pi.

The look (block logo, colors, loading phrases) comes from ANUS CLI 0.1.0, Apache-2.0; see NOTICE.

License

MIT

Frequently asked questions

Is ANUS free to use?

ANUS is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does ANUS do?

A free coding agent in your terminal. It runs on the smartest free model that is up today.

What is ANUS written in?

ANUS is primarily written in JavaScript. Its source is publicly available at https://github.com/anus-dev/ANUS, and it has 6,550 GitHub stars.