Recommendation for Cheapest capable

Cheapest Capable LLM

Our top recommendation for Cheapest Capable LLM, based on the public evidence we track, is Anthropic: Claude Haiku 4.5.[1][2][3][4] Watch out: Audit your actual billed model ID carefully, as Haiku 4.5 frontmatter pins have been observed resolving to Opus 4.8 or thinking-tier variants at 5-6x cost due to compiler/runtime alias bugs. Google: Gemini 3.5 Flash Lite is the next-ranked alternative. Fallback to Flash Lite automatically when 3.6 Flash hits quota limits on free-tier Google projects, keeping receipt scans and onboarding flows alive without manual intervention.

About this recommendation

Updated
Sep 25, 2026
Evidence through
Sep 25, 2026
Sources
8
Revision
v77

Decision audit

Why this result

Inspect the inputs and the computed order behind the recommendation.

Models screened

20

live candidates

Evaluation feeds

5

task-weighted

Winner coverage

61%

intended feed weight

Largest provider share

2 of 4

Anthropic

Established source breadth. 12 citation families and 7 practitioner families support the top result; 1 cautionary thread is retained. The largest citation family contributes 8%.

Sources evaluated

The task sets these weights before any model is scored.

winner: Claude Haiku 4.5
Evaluation feedWeightWinner resultField measured
price weight
40%
99/10020/20
Route reliabilityunavailable
30%
feed unavailable0/20
LiveBench Instruction Following
15%
not measured16/20
OpenRouter usage
10%
86/10020/20
LMArena Text
5%
#7018/20

Provider concentration

Each exact model is scored separately; provider identity is not a ranking input.

Anthropic50%
  • Anthropic2 models
  • deepseek1 model
  • Google1 model

Decision table

Every published model is shown in computed order. Practitioner sources are distinct community threads, not the citations repeated in the prose below.

RankModelRelative scoreCoveragePractitioner evidenceStrongest measured reason
01Claude Haiku 4.5Anthropic
72
61%7 threads · 7 families · 1 cautions#70 LMArena Text
02Gemini 3.5 Flash LiteGoogle
71
67%6 threads · 5 families · 2 cautions#27 LiveBench Instruction Following · #34 LMArena Text
03DeepSeek V4 Flash 0423deepseek
71
67%7 threads · 5 families · 3 cautions#40 LiveBench Instruction Following · #53 LMArena Text
04Claude Opus 4.6Anthropic
66
67%no linked practitioner threads#2 LMArena Text · #38 LiveBench Instruction Following

Relative score combines normalized benchmark quality and signal coverage; independent practitioner evidence and freshness are bounded tie-breakers. It is an ordering score, not an absolute quality percentage. The writing model receives this order and cannot change it.

  1. Claude Haiku 4.5 remains a viable cheap-tier option with broad provider coverage, though its cost structure is now significantly undercut by GPT-5.6 Luna on identical reliability benchmarks.

    Best when: Consider only after reviewing the cited caution.

    Watch out for

    • Audit your actual billed model ID carefully, as Haiku 4.5 frontmatter pins have been observed resolving to Opus 4.8 or thinking-tier variants at 5-6x cost due to compiler/runtime alias bugs.
      Source 1
      “## Objective Find and fix why Avenger (`.github/workflows/avenger.md`) declares `model: claude-haiku-4.5` but audited runs execute on `claude-opus-4-8`. ## Issue context Issue #50312 found the largest cost driver on the Avenger workflow is a model mismatch: frontmatter/intended budget points to Haiku, but `agent_usage.json` shows Opus 4.8 in all 3 sampled runs (5x more expensive per token). This suggests a compiler/runtime bug in model propagation, alias resolution, or engine argument generatio…”
      github-actions[bot]Open original ↗
      Source 2
      “## The incident that surfaced this While pinning a cheap model for WhatsApp channel turns (chat-surface cost reduction, 2026-08-06), we set `ExecutionConfig.model_name: "composer-2.5"` and verified the pin held — but production billing records show every call resolved to **`composer-2.5-fast`**, which carries ~6x the base input/output rates ($3.00/$15.00 vs $0.50/$2.50 per M tokens). The same happened to the other calibration arm: `claude-haiku-4-5` billed as `claude-4.5-haiku-thinking`. Root c…”
  2. Gemini 3.5 Flash Lite holds its position in the cheapest tier at $0.30/$2.50 per 1M tokens, though its refusal to accept thinking_budget=0 requires config adjustments that other Flash models do not.

    Best when: Fallback to Flash Lite automatically when 3.6 Flash hits quota limits on free-tier Google projects, keeping receipt scans and onboarding flows alive without manual intervention.

    Tips

    • Fallback to Flash Lite automatically when 3.6 Flash hits quota limits on free-tier Google projects, keeping receipt scans and onboarding flows alive without manual intervention.
      Source 3
      “## Who As a PairPocket user on the Gemini free tier, I want the app to prefer `gemini-3.6-flash` and automatically use `gemini-3.5-flash-lite` while 3.6 is quota-blocked, so that onboarding and receipt scans keep working without waiting on a failed 3.6 call every time. ## Why Free-tier limits are per project and per model row (RPM, TPM, RPD). RPD resets at midnight Pacific Time. RPM/TPM use a rolling window. Hard-coding quota numbers is unreliable; AI Studio shows live limits. Trying 3.6 on eve…”
      minsikpaul92Open original ↗
      Source 4
      “## 背景 Gemini 3.8 Flash(2026-09-02 リリース)など各社のモデル更新があったため、README / .env.example / .steering / docs/specs に記載している推奨モデル・料金・注意事項を見直す。 ## 調査結果(2026-09-09 時点) - 推奨(最安帯)は据え置き: `gemini-3.5-flash-lite` / `gpt-5.6-luna` / `claude-haiku-4-5` - README の `gpt-5.6-luna` 料金が誤り($1.00 / $6.00 → 正しくは $0.20 / $1.20) - 上位モデルの差し替え先: `gemini-3.6-flash` → `gemini-3.8-flash`(年内 $0.75 / $3.75、2027-01-01 以降 $1.50 / $7.50、thinking 既定オン) - Gemini 3.x Flash は `temperature` / `top_p` / `top_k` / `thinking_budget` を受け付けない(現行コ…”
      unsolublesugarOpen original ↗

    Watch out for

    • Strip thinking_budget parameters from your request entirely rather than setting to 0, as Flash Lite rejects explicit zero values with 400 INVALID_ARGUMENT while other Gemini variants accept them.
      Source 5
      “Implementation note — the premise of this issue was wrong in one respect, and it would have taken prod down. `gemini-3.5-flash-lite` **rejects `thinking_budget=0`** with `400 INVALID_ARGUMENT`. `GeminiProvider._build_config` (`backend/services/llm.py`) sets that unconditionally, so a pure env-var switch would have failed *every* Gemini call rather than degrading quality. Verified against the live API on 2026-08-02: | config | result on `gemini-3.5-flash-lite` | |---|---| | `thinkingBudget: 0` |…”
  3. DeepSeek V4 Flash 0423 was historically the cheapest small model but faces price pressure from OpenAI's Nano tier and reliability questions after its 2026-09 retirement and V4.1 migration.

    Best when: Consider only after reviewing the cited caution.

    Watch out for

    • Avoid the legacy deepseek-v4-flash alias entirely, as it now 400s after the 2026-09-14 retirement; use deepseek-v4-flash-fast or migrate to V4.1 Flash which bills at Flash rates but requires verification.
      Source 6
      “(1) Use deepseek-flash as the model name. The legacy names deepseek-v4-flash and deepseek-v4-flash-vision-exp are still accepted, but the corresponding models have been retired, their requests are served by the DeepSeek-V4.1-Flash model and billed at the Flash price. (2) After extensive testing, V4.1 Flash has comprehensively surpassed V4 Pro in performance, cost, speed, and total time, so we plan to retire V4 Pro in an orderly manner. From 12:00 Beijing Time on September 14, 2026, and until V4…”
      Source 7
      “### Summary GET `/provider/v1/models` still lists `deepseek/deepseek-v4-flash` (and `deepseek/deepseek-v4-flash-vision-exp`), but every chat/completions request for it fails with 400: ### Repro Same 400 with and without `reasoning_effort`, with and without `stream`, after ~30s upstream delay. Repro'd 2026-09-10 ~12:50 GMT+7. ### Workarounds verified (200 OK) - `deepseek/deepseek-v4-pro` - `deepseek/deepseek-v4-flash-fast` - `z-ai/glm-5.3-flash` ### Expected Either route the model id to a health…”
      mohammadarjunfaradis-ship-itOpen original ↗
      Source 8
      “## Summary The direct DeepSeek catalog defaults to a legacy Flash alias and estimates usage with outdated prices in `apps/server/src/providers/models.ts`. This is stale metadata, not a claim that the legacy API IDs fail. ## Measured on [origin/main d1e32b98](https://github.com/ahmadrosid/nakama/commit/d1e32b98c98a43e812376a06986e9e5a6f5206b1), version 0.4.26. ## Reproduction Run from the repository root: ## Expected vs actual Actual default: `deepseek-v4-flash`. Actual estimated costs for 2M in…”
  4. Anthropic: Claude Opus 4.6 ranks #2 of 146 on LMArena's overall text arena (Elo 1505), based on blind human preference votes.

    Best when: Consider only after reviewing the cited caution.

Frequently asked

What should I watch out for with Anthropic: Claude Haiku 4.5?
Audit your actual billed model ID carefully, as Haiku 4.5 frontmatter pins have been observed resolving to Opus 4.8 or thinking-tier variants at 5-6x cost due to compiler/runtime alias bugs.[1][2]
What is an alternative to Anthropic: Claude Haiku 4.5?
Google: Gemini 3.5 Flash Lite is the next-ranked option. Fallback to Flash Lite automatically when 3.6 Flash hits quota limits on free-tier Google projects, keeping receipt scans and onboarding flows alive without manual intervention.[3][4]

Sources

  1. 1

    “## Objective Find and fix why Avenger (`.github/workflows/avenger.md`) declares `model: claude-haiku-4.5` but audited runs execute on `claude-opus-4-8`. ## Issue context Issue #50312 found the largest cost driver on the Avenger workflow is a model mismatch: frontmatter/intended budget points to Haiku, but `agent_usage.json` shows Opus 4.8 in all 3 sampled runs (5x more expensive per token). This suggests a compiler/runtime bug in model propagation, alias resolution, or engine argument generatio…”

    github-actions[bot] · GitHub · Aug 4, 2026
  2. 2

    “## The incident that surfaced this While pinning a cheap model for WhatsApp channel turns (chat-surface cost reduction, 2026-08-06), we set `ExecutionConfig.model_name: "composer-2.5"` and verified the pin held — but production billing records show every call resolved to **`composer-2.5-fast`**, which carries ~6x the base input/output rates ($3.00/$15.00 vs $0.50/$2.50 per M tokens). The same happened to the other calibration arm: `claude-haiku-4-5` billed as `claude-4.5-haiku-thinking`. Root c…”

    whysosuresh · GitHub · Aug 6, 2026
  3. 3

    “## Who As a PairPocket user on the Gemini free tier, I want the app to prefer `gemini-3.6-flash` and automatically use `gemini-3.5-flash-lite` while 3.6 is quota-blocked, so that onboarding and receipt scans keep working without waiting on a failed 3.6 call every time. ## Why Free-tier limits are per project and per model row (RPM, TPM, RPD). RPD resets at midnight Pacific Time. RPM/TPM use a rolling window. Hard-coding quota numbers is unreliable; AI Studio shows live limits. Trying 3.6 on eve…”

    minsikpaul92 · GitHub · Jul 28, 2026
  4. 4

    “## 背景 Gemini 3.8 Flash(2026-09-02 リリース)など各社のモデル更新があったため、README / .env.example / .steering / docs/specs に記載している推奨モデル・料金・注意事項を見直す。 ## 調査結果(2026-09-09 時点) - 推奨(最安帯)は据え置き: `gemini-3.5-flash-lite` / `gpt-5.6-luna` / `claude-haiku-4-5` - README の `gpt-5.6-luna` 料金が誤り($1.00 / $6.00 → 正しくは $0.20 / $1.20) - 上位モデルの差し替え先: `gemini-3.6-flash` → `gemini-3.8-flash`(年内 $0.75 / $3.75、2027-01-01 以降 $1.50 / $7.50、thinking 既定オン) - Gemini 3.x Flash は `temperature` / `top_p` / `top_k` / `thinking_budget` を受け付けない(現行コ…”

    unsolublesugar · GitHub · Sep 9, 2026
  5. 5

    “Implementation note — the premise of this issue was wrong in one respect, and it would have taken prod down. `gemini-3.5-flash-lite` **rejects `thinking_budget=0`** with `400 INVALID_ARGUMENT`. `GeminiProvider._build_config` (`backend/services/llm.py`) sets that unconditionally, so a pure env-var switch would have failed *every* Gemini call rather than degrading quality. Verified against the live API on 2026-08-02: | config | result on `gemini-3.5-flash-lite` | |---|---| | `thinkingBudget: 0` |…”

    jrhahn · GitHub · Aug 2, 2026
  6. 6

    “(1) Use deepseek-flash as the model name. The legacy names deepseek-v4-flash and deepseek-v4-flash-vision-exp are still accepted, but the corresponding models have been retired, their requests are served by the DeepSeek-V4.1-Flash model and billed at the Flash price. (2) After extensive testing, V4.1 Flash has comprehensively surpassed V4 Pro in performance, cost, speed, and total time, so we plan to retire V4 Pro in an orderly manner. From 12:00 Beijing Time on September 14, 2026, and until V4…”

    RainPPR · Hugging Face · Sep 10, 2026
  7. 7

    “### Summary GET `/provider/v1/models` still lists `deepseek/deepseek-v4-flash` (and `deepseek/deepseek-v4-flash-vision-exp`), but every chat/completions request for it fails with 400: ### Repro Same 400 with and without `reasoning_effort`, with and without `stream`, after ~30s upstream delay. Repro'd 2026-09-10 ~12:50 GMT+7. ### Workarounds verified (200 OK) - `deepseek/deepseek-v4-pro` - `deepseek/deepseek-v4-flash-fast` - `z-ai/glm-5.3-flash` ### Expected Either route the model id to a health…”

    mohammadarjunfaradis-ship-it · GitHub · Sep 10, 2026
  8. 8

    “## Summary The direct DeepSeek catalog defaults to a legacy Flash alias and estimates usage with outdated prices in `apps/server/src/providers/models.ts`. This is stale metadata, not a claim that the legacy API IDs fail. ## Measured on [origin/main d1e32b98](https://github.com/ahmadrosid/nakama/commit/d1e32b98c98a43e812376a06986e9e5a6f5206b1), version 0.4.26. ## Reproduction Run from the repository root: ## Expected vs actual Actual default: `deepseek-v4-flash`. Actual estimated costs for 2M in…”

    mamenesia · GitHub · Sep 22, 2026

Rankings synthesized from community evidence and open benchmarks. See methodology. Not driven by vendor marketing.