{"slug": "show-hn-find-every-ai-model-your-code-calls-and-warn-before-it-s-retired", "title": "Show HN: Find every AI model your code calls and warn before it's retired", "summary": "ModelStatus, a new open-source CLI tool, scans any repository to identify every AI model the code calls and flags deprecated or retiring models with their retirement dates and replacements. The tool, available via Homebrew, npm, or npx, runs offline after pulling a signed registry from cdn.llmstatus.ai, and offers a terminal dashboard, CI integration, and a GitHub App that can open fix PRs. The registry refreshes every 6 hours from models.dev, OpenRouter, and provider APIs, and the tool is free with optional paid plans for cloud inventory and alerts.", "body_md": "Run it in any repo. It finds the models your code calls and flags the ones that are deprecated or retiring, with the date and the replacement.\n\n`mm`\n\n.Installs the `mm`\n\ncommand — a self-contained binary, no Node needed (60–120 MB, auto-detects your platform). Auto-updates in the background, signature-verified; `MM_NO_AUTO_UPDATE=1`\n\ndisables it.\n\n`brew install randomartifact/tap/modelstatus-cli`\n\n· `npm i -g @modelstatus/cli`\n\n· try once with `npx @modelstatus/cli status`\n\nRun `mm`\n\nfor the full terminal dashboard: it scans the current repo on launch, then you arrow through every model it calls, browse the registry, and see what's new — live.\n\nNeed it scriptable? `mm status`\n\nlists every model the repo calls, soonest retirement first. `mm ci`\n\nexits non-zero when something's on a clock — that's the one for pre-commit hooks and CI. No account.\n\nBoth pull the signed registry from `cdn.llmstatus.ai`\n\nonce, then run offline. No account. Anonymous usage counts only — `MM_NO_ANALYTICS=1`\n\nturns them off.\n\n`mm`\n\nfor the full dashboard.Type `mm`\n\nto open it. Arrow through every model the repo calls, press `f`\n\nto fix one with a diff preview, and watch the ●◐▲✕ counts update as you go. The **Here** and **What's New** tabs read straight off the signed registry, no account, works offline.\n\n`/`\n\nsearch.`mm fix`\n\nswaps in the replacements.Finding dying models is half the job. One command rewrites them to the registry's replacement, in place.\n\n`gpt-4`\n\ncan't rewrite inside `gpt-4o`\n\nor `gpt-4-tuned`\n\n.`--dry-run`\n\npreviews, `--json`\n\nfor tooling. In the TUI, press `f`\n\n.The GitHub App does the same on pull requests: a failing check grows an **Open fix PR** button, and one click opens this — the diff in the body, the commit verified, re-checked green by the same scan.\n\nLive from the registry — it refreshes every 6 hours from models.dev, OpenRouter, and provider APIs.\n\nNo AI provider ships a model-lifecycle feed. We do —\n[open the radar](/radar) on your phone, or subscribe:\n[RSS](/feed.xml) ·\n[JSON](/feed.json) ·\n[retirements only](/feed.xml?type=model_retired,model_deprecated)\n\nAdd a model-lifecycle check to every PR. Two options, and the difference is whether your source code leaves your runners.\n\nRuns in your own CI; your source never leaves your runners, only model IDs go out. Inline PR annotations and a pass/fail gate.\n\nOne click, no workflow YAML or secrets to manage. We scan each PR on our servers (your code is sent to us; use the CI option if that's a dealbreaker) and post a Check Run plus a review comment. A button on the check opens a fix PR that swaps in the replacements.\n\nPlans cover the cloud inventory and alerts. The CLI itself is always free.\n\nA free account stores one project's inventory (up to 15 usages) and emails you before a model retires. Pro lifts the caps and adds Slack, Discord, SMS, webhooks, CI drift, and the API.\n\n| Health | Model | Project | Env | Where used | Retires |\n|---|---|---|---|---|---|\n| ▲ Retiring soon | AMAmazon Nova Premier |\napi-service | prod | workers/classify.py:88 | 2026-09-14in 25d |\n| ✕ Retired | MFGPT-5.3 Chat |\nrag-pipeline | prod | rag/legacy_index.py:12 | 2026-08-1010d ago |\n| ◑ Deprecating | OAGPT-5 |\nsupport-bot | prod | bot/agent/handler.ts:121 | 2026-12-11in 4mo |\n| ● Healthy | ANClaude Opus 4.7 |\napi-service | prod | services/answer.go:215 | 2027-04-16in 8mo |\n| ● Healthy | AMGPT-5.5 |\nrag-pipeline | prod | rag/extract.py:71 | — |", "url": "https://wpnews.pro/news/show-hn-find-every-ai-model-your-code-calls-and-warn-before-it-s-retired", "canonical_source": "https://llmstatus.ai", "published_at": "2026-08-20 13:12:55+00:00", "updated_at": "2026-08-20 13:46:11.943518+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "ai-infrastructure"], "entities": ["ModelStatus", "Homebrew", "npm", "npx", "cdn.llmstatus.ai", "models.dev", "OpenRouter", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/show-hn-find-every-ai-model-your-code-calls-and-warn-before-it-s-retired", "markdown": "https://wpnews.pro/news/show-hn-find-every-ai-model-your-code-calls-and-warn-before-it-s-retired.md", "text": "https://wpnews.pro/news/show-hn-find-every-ai-model-your-code-calls-and-warn-before-it-s-retired.txt", "jsonld": "https://wpnews.pro/news/show-hn-find-every-ai-model-your-code-calls-and-warn-before-it-s-retired.jsonld"}}