Back to guides
Coding agents·September 18, 2026·Updated September 21, 2026·8 min read

Aider pricing: the free CLI, the API bill, and the cheapest route

Separate the free Apache-2.0 client from the metered model bill, then check whether Aider recognizes your model id before it falls back to whole-file edits.

Last reviewed on .

Aider, the open-source terminal coding assistant, costs $0. It is Apache-2.0 software, and aider.chat advertises no plans, no tiers, no seats and no hosted service, so "Aider pricing" in practice means the model API bill you run through it. The number worth budgeting is tokens per session at your provider's rate — and the setting most likely to inflate it is Aider's own default for a model id it does not recognize, which is a two-line fix covered below.

One disambiguation first, because the search results mix them. A different company, in accounting software, also trades as Aider and publishes a monthly minimum for period-close automation. Those prices belong to that product. This page is only about the CLI at aider.chat, distributed as the aider-chat package from the Aider-AI/aider repository.

What Aider charges, and what actually bills you

Aider's FAQ states plainly that the company behind it publishes the tool as open source under Apache 2.0, and no price, plan or subscription text appears on the homepage, the FAQ, the install page or the LLM connection pages (all checked September 18, 2026). The bill sits entirely on the other side of the endpoint.

Line itemWhat it costsWhere that comes from
The Aider CLI$0, Apache-2.0Repository license and the project FAQ
A hosted Aider serviceNone advertisedNo such product on any aider.chat page checked here
Model API tokensYour provider's per-token rateYour provider's own billing
GitHub Copilot routeDrawn from the Copilot subscriptionAider's Copilot page
Local model via OllamaNo per-request charge; hardware and power insteadAider's Ollama page

Check the release cadence before you standardize a team on it. The repository is not archived and carries 49,040 stars — aider.chat's own homepage badge still reads 44K, so read the API rather than the page. The last commit to main is dated May 22, 2026, and there are 1,378 open issues and 500 open pull requests (GitHub API, September 18, 2026). The two official views of "latest release" also disagree: PyPI serves 0.86.2, uploaded February 12, 2026, while GitHub Releases stops at v0.86.0 from August 9, 2025. Trust PyPI for what pip install gives you, and confirm in your own environment. Work merged since then sits on main as 0.86.3.dev (aider/__init__.py) and is in no installable release.

One more inconsistency to settle in your own environment before you install: Aider's install page advertises Python 3.8–3.13 for its bootstrap installer and 3.9–3.12 for pip and pipx, while the 0.86.2 package metadata on PyPI declares >=3.10,<3.13. The package metadata is what pip actually enforces, so check your interpreter against that rather than the prose.

The setting that moves your Aider API cost most

Aider's own homepage still says it works best with Claude 3.7 Sonnet, DeepSeek R1 and V3, and OpenAI o1, o3-mini and GPT-4o, and its LLM page names a similar mid-2025 set. That advice is dated, and following it literally in 2026 is not the recommendation here — but the dates matter for a reason beyond model choice.

This is the part the price tables miss. Aider chooses its edit format, repo map and caching behavior by matching the model id against a built-in table, and the id that reaches that table is the prefixed string you type after --model. Its published defaults for anything it does not match are edit_format: whole, use_repo_map: false, cache_control: false and weak_model_name: null, per the advanced model settings page.

In the released 0.86.2 source that lookup runs in two steps, and the distinction decides whether any of this applies to you. First Aider compares the id you passed against a shipped table of 313 entries keyed by fully qualified name — the whole string, prefix included, so gemini/gemini-3-pro-preview and openai/gpt-5.2 are both in there and both match exactly. Only if nothing matches does it fall back to substring rules, which among others catch sonnet-4-5, opus-4-6, haiku-4-5, 3-7-sonnet, 3-5-sonnet, gpt-4, gpt-4.1, an exact gpt-5 last segment, the o1 and o3-mini ids, DeepSeek V3 and R1, Llama-3 70B and a handful of Qwen ids.

The catch for a custom endpoint is the prefix. Reaching one means passing the id as openai/<id>, and the 40 openai/-prefixed rows in that table are all OpenAI's own model names. So openai/claude-sonnet-4-6 matches no row in the table and no substring rule either, and the command Kunavo's own setup page prints — aider --model openai/claude-sonnet-4-6 — runs whole-file edits with the repo map off. Whole-file means the model re-emits every edited file in full on each turn, and output tokens are the expensive side of the bill. Check your own id against both steps rather than assuming either outcome: a Gemini 3 id, for instance, has exact entries under Aider's gemini/ and openrouter/ prefixes and none under openai/.

Two lines fix it. Aider reads this file from your home directory, the git root or the current directory, keyed by the same fully qualified name you pass to --model.

.aider.model.settings.yml
# The name must match the string you pass to --model, prefix included.
- name: openai/claude-sonnet-4-6
  edit_format: diff
  use_repo_map: true

A one-off run can use --edit-format diff instead. There is also a quirk worth knowing: because that second-step match is a substring, openai/claude-haiku-4-5 does match on haiku-4-5 and gets the diff format and repo map automatically, while the Sonnet 4.6 id does not. That is an accident of naming, not a property of the provider, and it can change in any Aider release — re-check rather than rely on it.

There is a second, quieter effect. Aider bills three model roles: the main model, an editor model used by --architect mode, and a weak model used for commit messages and chat-history summarization (see the options reference). When the id is unrecognized, the released source sets both the weak model and the editor model to the main model itself. All three roles then bill at your most expensive rate. Aider's own modes documentation already warns that architect mode "uses two LLM requests, which can take longer and increase costs"; with an unrecognized id, both of those requests are the expensive one. Aider documents --weak-model, and the released source builds that model through the same constructor as the main one, so the same openai/ prefix applies and a cheap id can be named there explicitly.

Finally, an unrecognized id also silences the cost readout. In the released source, if the model has no input_cost_per_token entry, Aider prints token counts and returns before the cost line — it shows nothing, not $0.00 — and the warnings page confirms it will "assume the model is free". Restore it with a metadata file:

.aider.model.metadata.json
{
  "openai/claude-sonnet-4-6": {
    "input_cost_per_token": 0.0000012000,
    "output_cost_per_token": 0.0000060000,
    "litellm_provider": "openai",
    "mode": "chat"
  }
}

Add max_input_tokens too if you want the context warning to be accurate; Aider's token limits page states that it never enforces token limits and only reports the provider's token-limit errors. Even with metadata supplied, Aider's dollar figure is its own arithmetic over reported tokens — the released code hard-codes one vendor's cache multipliers — so treat it as a running estimate and reconcile against your provider's ledger.

A worked Aider API cost estimate

These are token arithmetic, not measured task costs and not a bill ceiling. Assume one session that sends 200,000 uncached input tokens and receives 12,000 output tokens under diff. For the whole-file column, assume the same session emits 40,000 output tokens because edited files are re-sent in full — that ratio is an assumption for illustration, not a measurement. Rates are live Kunavo catalog prices per million tokens.

ModelInput / output per 1MEstimate, diff formatEstimate, whole-file default
Claude Haiku 4.5$0.40 / $2.00$0.104$0.160
Gemini 3.8 Flash$0.525 / $2.625$0.137$0.210
GPT-5.6 Terra$0.70 / $4.20$0.190$0.308
Claude Sonnet 4.6$1.20 / $6.00$0.312$0.480
Claude Opus 5$2.00 / $10.00$0.520$0.800

Two readings. First, under these assumptions the edit format alone moves Claude Sonnet 4.6 from $0.312 to $0.480 for the same work, which is why the configuration section comes before this one: comparing provider rates before fixing the edit format compares the wrong thing. Second, the commit-message and summarization traffic that collapses onto the main model is not free either: an assumed 30,000 input and 2,000 output tokens of it costs $0.048 on Claude Sonnet 4.6 against $0.016 if you name Claude Haiku 4.5 as the weak model.

Scale these by your own sessions per day before treating them as a budget. Kunavo's catalog amount is a billing floor rather than a cap: when the upstream reports its charge, the bill is the greater of catalog cost and upstream cost times the applicable markup. Cache charges and external tools sit outside this example. The minimum Kunavo top-up is $10 in prepaid credit, which is a funding minimum, not a task fee or a subscription — see billing details.

Cheapest API for Aider: two different questions

Aider publishes the only re-checkable task-cost anchor this tool has: its polyglot benchmark runs the same 225 Exercism exercises across six languages and records a dollar cost per model. Those runs separate "cheapest rate" from "cheapest to finish" better than any price table can.

Benchmark entryPercent correctCost for all 225 exercisesRun date
gpt-5 (high)88.0%$29.082025-08-23
gpt-5 (medium)86.7%$17.692025-08-25
o3-pro (high)84.9%$146.322025-06-28
gpt-5 (low)81.3%$10.372025-08-25
o3 (high)81.3%$21.232025-06-25
DeepSeek-V3.2-Exp (Reasoner)74.2%$1.302025-10-03

Read from the leaderboard data file on September 18, 2026. Two caveats that matter more than the ranking. The newest row in that file is dated October 3, 2025, so nothing released since has ever been benchmarked here, and the page footer's later "last updated" stamp reflects the file's edit time rather than a newer run. And the leaderboard states no price list or date for its Cost column, so each figure is what that run cost on its run date, not a quote you can buy today. These models are named as benchmark evidence; DeepSeek in particular is not in Kunavo's catalog, and the cheap-lane equivalents on the table above are Claude Haiku 4.5 and Gemini 3.8 Flash.

The usable rule: o3-pro cost five times gpt-5 (high) and scored lower, so a high rate does not buy completion, and a low rate does not guarantee the lowest total either — a cheap model that needs three attempts can cost more than one that needs one. Shortlist the least expensive model that finishes your work with review effort you accept, then verify against the usage your provider account actually recorded for that task. Aider's /tokens is not that number: its own command reference defines it as a report on the tokens used by the current chat context, so it sizes the next request rather than totalling the requests and retries already billed. For a longer treatment of that method see AI cost optimization.

Best API for Aider: which route wins when

RouteWins whenWhat you give up
Direct vendor APIYou use one vendor's flagship all day and want its own caching and batch discountsA second vendor means a second account; you still check whether Aider recognizes the id
OpenRouterYou switch models per task and want one key, and you want Aider to know the modelAider treats it as a first-class provider — OPENROUTER_API_KEY and an openrouter/ model prefix — so ids resolve and metadata is discovered; on price, OpenRouter's FAQ says it passes provider pricing through "without any markup on inference pricing" and charges its fee when you purchase credits instead, so the comparison is on funding terms rather than on the per-token rate
An OpenAI-compatible gatewayYou want one key and one balance on an endpoint Aider has no provider module forUnless your openai/-prefixed id happens to match one of Aider's built-in entries, edit format, repo map and cost metadata are a one-time manual setup — see the settings file above
Subscription agentFlat-rate heavy daily use suits you better than metered tokensAider has no subscription of its own; the Copilot endpoint is the only route that consumes one
Local modelSmall or private work, no per-request chargeCapability gap against hosted frontier models, plus the hardware to run one. Ollama's own default context window is small and discards the overflow silently, but Aider's Ollama page says Aider sizes that window per request by default so the data is not dropped

Two practical boundaries for the gateway route. For a gateway Aider has no provider module for, the documented path is the OpenAI-compatible one: OPENAI_API_BASE, OPENAI_API_KEY and a mandatory openai/ prefix on the model id, per the OpenAI-compatible APIs page. That is not the only third-party route Aider documents — OpenRouter has its own page, its own OPENROUTER_API_KEY and an openrouter/ prefix, which is why its ids behave differently from the generic compatible path. OPENAI_API_BASE is also the only base-URL override Aider documents: there is no --anthropic-api-base switch, and the string ANTHROPIC_API_BASE appears nowhere in the 0.86.2 tree. So the documented way to reach a gateway is a chat-completions one. Aider does ship a general --set-env ENV_VAR=value switch for controlling API settings, so read this as the absence of a documented Messages-protocol route rather than as a demonstrated block. And do not budget for prompt-cache savings on this path: Aider's prompt caching page names the specific vendor families it caches for, requires the opt-in --cache-prompts switch, and says cache statistics and costs are unavailable while streaming. Whether cache blocks survive the compatible path to any gateway is not something this page tested. Prompt caching covers what the rates look like when a route does support it.

OpenRouter is the incumbent gateway here and Aider documents it natively on its OpenRouter page, including provider-routing controls; compare it on rate and on funding terms rather than on integration depth. See OpenRouter alternatives and OpenAI-compatible API for that comparison, and cheapest Claude API if Claude is the family you have settled on.

Set it up and check the first bill

Kunavo publishes a setup guide for this client. That is a published configuration reference, not a compatibility test: Aider has not been runtime-tested here against Kunavo's endpoint, and everything above was read from Aider's released source and its own documentation. Keep a working route available while you try it, run one bounded task, then read the charge your account recorded for it. Do not reconcile with /tokens — it reports the size of the current chat context, not what the session has spent — and note that with an id Aider does not recognize it prints no cost line either, which is the second reason the settings file above is worth writing. Start at the Aider integration guide, and create a Kunavo account when you are ready to fund a key.

Comparing clients rather than providers? Cline pricing and OpenCode pricing cover two agents with the same separation between a free client and a metered API bill.

FAQ

How much does Aider cost?

The Aider CLI costs nothing. It is Apache-2.0 open source, the GitHub repository carries that license, and aider.chat publishes no plan, tier, quota, seat or subscription for the tool on its homepage, FAQ, install page or LLM pages. Those same pages advertise no hosted Aider service to subscribe to either. What you pay is the model API bill from whichever provider you point it at, or a GitHub Copilot subscription if you use that documented route, or nothing per request if you run a local model. A separate company also called Aider sells accounting period-close software at a different domain; its monthly prices describe that product, not this CLI.

Does Aider have a subscription or a paid plan?

No. Aider ships no account of its own and no paid edition; nothing in Aider is unlocked by paying Aider. The only way to put Aider on a subscription is Aider's documented GitHub Copilot route, which sets OPENAI_API_BASE to Copilot's endpoint; Aider's documentation states that calls made that way are billed through the Copilot subscription, and that the Copilot docs allow third-party agents to hit that API. That last part is Aider's reading of GitHub's terms, not a reading this page confirmed against GitHub's own policy.

What is the best API for Aider?

It depends on how you work, not on a single winner. A direct vendor API wins when you use one vendor's flagship all day and want the vendor's own caching and batch discounts. A gateway wins when you switch models per task and want one key and one balance — but the two gateway routes are not the same inside Aider. OpenRouter has its own page, its own OPENROUTER_API_KEY and an openrouter/ prefix, so Aider resolves those ids and looks their metadata up itself. A gateway Aider has no provider module for, such as Kunavo, is reached over the documented OpenAI-compatible path with an openai/ prefix, and an id that matches none of Aider's built-in entries needs its edit format, repo map and cost metadata set by hand once. A subscription-based agent wins on flat-rate heavy daily use. A local model through Ollama wins for small or private work at no per-request charge. Aider's own documentation routes readers to both OpenRouter and Copilot, so neither is exotic.

What is the cheapest API for Aider?

Cheapest per token and cheapest to finish the task are different questions, and Aider's own polyglot benchmark shows them separating. On the same 225 exercises, gpt-5 at high reasoning scored 88.0 percent for $29.08 while o3-pro at high reasoning scored 84.9 percent for $146.32 — five times the money for a lower score. DeepSeek-V3.2-Exp Reasoner finished the same set for $1.30 at 74.2 percent. So the cheapest listed rate is only the cheapest outcome if the model finishes your work without extra attempts. Pick the least expensive model that completes your task with acceptable review effort, and measure it on your own repository with the /tokens command.

Why does Aider show no cost line for my model?

Because Aider does not recognize the model id. In the released source, if the model has no input_cost_per_token entry, Aider prints the token counts and returns before the cost line — it shows nothing rather than $0.00. Its own warnings documentation says it will use an unlimited context window and assume the model is free. Supply a .aider.model.metadata.json file keyed by the fully qualified name you pass to --model, with input_cost_per_token and output_cost_per_token, and the cost line comes back. Note that Aider's figure is its own arithmetic over reported tokens, not your provider's bill.

Is Aider still maintained?

The repository is live and not archived: Apache-2.0, an Aider-AI organization owner, 49,040 stars on 2026-09-18. But the cadence has slowed and the dates are the honest way to say it. The last commit to main is 2026-05-22. The most recent published aider-chat package is 0.86.2, uploaded 2026-02-12, and the release before it was 2025-08-13. GitHub Releases stops at v0.86.0 from 2025-08-09. There are 1,378 open issues and 500 open pull requests. No maintainer statement about the project's direction was found, so treat this as cadence evidence, not as an announcement.

Aider repository, package, documentation and leaderboard data checked September 18, 2026; behavior claims read at released tag v0.86.2. Kunavo token rates come from the live catalog, and every dollar example on this page is illustrative token arithmetic rather than a measured task cost.