← Model Graveyard Check

Report · November 5, 2026

28 of the 43 most-starred LLM repos on GitHub still reference model IDs that are dead or about to die

22repos with already-dead IDs
21with IDs dying within 90 days
19set one as a model value

On November 5, 2026 I took the 43 most-starred public repos with the GitHub topic llm and read up to 300 source and config files from each, prioritising config, model and agent files. I looked for every model ID that Anthropic, OpenAI or Google list on their official deprecation pages with a shutdown date that has passed, or falls within the next 90 days.

What counts: only code and config files. I skipped docs, notebooks, tests, and files that mention 8 or more model IDs, because those are usually model catalogues or price tables, not real usage.

Set as a model value means the ID sits on a line that assigns a model: model=, "model":, a DEFAULT_ or _MODEL constant, a --model flag. Listed only means it appears in a list, a map or a condition. I read 11,884 files in total.

What it does not mean: a hit is not a bug. Some of these lines are fallbacks, migration maps, docstring examples or menu options that users never pick. But each one is a string that will fail, or quietly hit a different model, the day someone calls it. Maintainers know their code. I only know the dates.

The most common IDs

Model IDStatusRepos
gpt-5shuts down December 11, 20267
gemini-2.5-flashshuts down December 1, 20267
claude-sonnet-4-5shuts down November 30, 20266
gpt-5-minishuts down December 11, 20266
claude-3-5-sonnet-20241022dead since October 28, 20256
gpt-3.5-turbodead since October 23, 20266
gemini-2.0-flashdead since June 1, 20265
gpt-4dead since October 23, 20265
o3shuts down December 11, 20265
o3-minidead since October 23, 20264

Repo by repo

zhayujie/CowAgent ★ 47,801 · rescan live

☠ dead
gpt-3.5-turbo → gpt-5.6-terra · set as a model value · 10 lines
models/baidu/baidu_wenxin_session.py:14 def __init__(self, session_id, system_prompt=None, model="gpt-3.5-turbo"):
models/chatgpt/chat_gpt_bot.py:64 conf_model = custom_model or conf().get("model") or "gpt-3.5-turbo"
☠ dead
gpt-4 → gpt-5.6-sol · set as a model value · 2 lines
models/linkai/link_ai_bot.py:174 "model": model, # 对话模型的名称, 支持 gpt-3.5-turbo, gpt-3.5-turbo-16k, gpt-4, wenxin, xunfei
models/linkai/link_ai_bot.py:338 "model": conf().get("model") or "gpt-3.5-turbo", # 对话模型的名称, 支持 gpt-3.5-turbo, gpt-3.5-tur
☠ dead
gemini-2.0-flash → gemini-3.6-flash · set as a model value · 2 lines
models/gemini/google_gemini_bot.py:331 model_name = model or self.model or "gemini-2.0-flash"
agent/tools/vision/vision.py:184 " 1. Switch to a multimodal model (e.g. claude-sonnet-5, qwen3.8-flash, gemini-2.0-flash,
☠ dead
dall-e-2 → gpt-image-2 · set as a model value · 3 lines
models/linkai/link_ai_bot.py:416 "model": conf().get("text_to_image") or "dall-e-2",
config.py:82 "text_to_image": "dall-e-2", # image generation model, options: dall-e-2, dall-e-3

…and 5 more dead or dying IDs: gpt-4-turbo, text-davinci-003, tts-1, dall-e-3, gpt-5

FoundationAgents/MetaGPT ★ 71,182 · rescan live

☠ dead
gpt-3.5-turbo → gpt-5.6-terra · set as a model value · 8 lines
config/config2.example.yaml:5 model: "gpt-4-turbo" # or gpt-3.5-turbo
config/config2.yaml:6 model: "gpt-4-turbo" # or gpt-3.5-turbo
☠ dead
gpt-4-turbo → gpt-5.6-sol · set as a model value · 8 lines
config/config2.example.yaml:5 model: "gpt-4-turbo" # or gpt-3.5-turbo
config/config2.yaml:6 model: "gpt-4-turbo" # or gpt-3.5-turbo
☠ dead
claude-3-5-sonnet-20240620 → claude-sonnet-5-5 · set as a model value · 2 lines
config/examples/anthropic-claude-3-5-sonnet.yaml:5 model: 'claude-3-5-sonnet-20240620' # or 'claude-3-opus-20240229'
examples/aflow/optimize.py:84 default="claude-3-5-sonnet-20240620",
☠ dead
claude-3-opus-20240229 → claude-opus-4-8 · set as a model value · 1 line
config/examples/anthropic-claude-3-5-sonnet.yaml:5 model: 'claude-3-5-sonnet-20240620' # or 'claude-3-opus-20240229'

…and 3 more dead or dying IDs: dall-e-3, gpt-4-vision-preview, claude-3-sonnet-20240229

browser-use/browser-use ★ 120,083 · rescan live

☠ dead
claude-3-5-sonnet-20240620 → claude-sonnet-5-5 · set as a model value · 2 lines
browser_use/llm/aws/chat_anthropic.py:42 model: str = 'anthropic.claude-3-5-sonnet-20240620-v1:0'
browser_use/llm/aws/chat_bedrock.py:41 model: str = 'anthropic.claude-3-5-sonnet-20240620-v1:0'
☠ dead
gpt-5.1-codex-mini → gpt-5.6-terra · set as a model value · 6 lines
examples/models/azure_openai.py:8 model='gpt-5.1-codex-mini',
examples/models/azure_openai.py:34 model='gpt-5.1-codex-mini', api_key=api_key, azure_endpoint=azure_endpoint, api_version='2
☠ dead
claude-sonnet-4-0 → claude-sonnet-5-5 · set as a model value · 2 lines
examples/features/fallback_model.py:34 llm = ChatAnthropic(model='claude-sonnet-4-0')
examples/models/claude-4-sonnet.py:19 llm = ChatAnthropic(model='claude-sonnet-4-0', temperature=0.0)
⏳ 36 days
o3 → gpt-5.6-sol · set as a model value · 2 lines
browser_use/agent/service.py:273 elif 'o3' in model_name or 'claude' in model_name or 'sonnet' in model_name or 'deepseek'
browser_use/beta/service.py:700 if 'o3' in model_name or 'claude' in model_name or 'sonnet' in model_name or 'deepseek' in

…and 17 more dead or dying IDs: claude-3-5-sonnet-20241022, claude-opus-4-20250514, gemini-3-pro-preview, gpt-5-mini, codex-mini-latest, computer-use-preview, gpt-5-codex, gpt-5.1-codex…

ZhuLinsen/daily_stock_analysis ★ 67,582 · rescan live

⏳ 26 days
gemini-2.5-flash → gemini-3.5-flash-lite (requests auto-route to it from Dec 1, 2026) · set as a model value · 10 lines
.github/scripts/ai_review.py:327 model = os.environ.get('GEMINI_MODEL') or os.environ.get('GEMINI_MODEL_FALLBACK') or 'gemi
.github/workflows/pr-review.yml:127 GEMINI_MODEL: ${{ vars.GEMINI_MODEL || 'gemini-2.5-flash' }}
☠ dead
claude-3-5-sonnet-20241022 → claude-sonnet-5-5 · set as a model value · 5 lines
.github/workflows/00-daily-analysis.yml:134 ANTHROPIC_MODEL: ${{ vars.ANTHROPIC_MODEL || secrets.ANTHROPIC_MODEL || 'claude-3-5-sonnet
docs/examples/litellm_config.example.yaml:38 - model_name: openai/claude-3-5-sonnet-20241022
☠ dead
gemini-2.0-flash → gemini-3.6-flash · set as a model value · 2 lines
src/agent/llm_adapter.py:93 model: str = "" # full model name used (e.g. gemini/gemini-2.0-flas
src/config.py:1082 # Fallback chain: VISION_MODEL → OPENAI_VISION_MODEL → gemini/gemini-2.0-flash
☠ dead
o1 → gpt-5.6-sol · listed only · 3 lines
src/llm/generation_params.py:192 or part in {"o1", "o3", "o4"}
src/llm/provider_cache.py:835 return model_name.startswith(("gpt-", "o1", "o3", "o4", "chatgpt-", "gpt4"))

…and 3 more dead or dying IDs: claude-sonnet-4-5, gpt-5, o3

rtk-ai/rtk ★ 85,600 · rescan live

⏳ 26 days
gemini-2.5-flash → gemini-3.5-flash-lite (requests auto-route to it from Dec 1, 2026) · set as a model value · 4 lines
⏳ 25 days
claude-sonnet-4-5 → claude-sonnet-5-5 · set as a model value · 2 lines
proxy/src/pipeline/engine_methods.rs:337 "model": "claude-sonnet-4-5",
proxy/src/pipeline/engine_methods.rs:350 model: "claude-sonnet-4-5".into(),
⏳ 36 days
gpt-5 → gpt-5.6-sol · set as a model value · 2 lines
proxy/src/pipeline/ccr/openai.rs:236 model: "gpt-5".into(),
proxy/models.toml:62 pattern = "gpt-5"
☠ dead
gpt-4 → gpt-5.6-sol · listed only · 1 line
proxy/models.toml:57 pattern = "gpt-4"

…and 4 more dead or dying IDs: o1, o3-mini, o4-mini, gpt-4o-2024-08-06

mem0ai/mem0 ★ 68,449 · rescan live

☠ dead
gpt-4.1-nano-2025-04-14 → gpt-5.6-luna · set as a model value · 3 lines
examples/misc/multillm_memory.py:37 "model": "gpt-4.1-nano-2025-04-14",
examples/misc/multillm_memory.py:45 "model": "gpt-4.1-nano-2025-04-14",
☠ dead
claude-3-5-sonnet-20241022 → claude-sonnet-5-5 · set as a model value · 1 line
examples/misc/multillm_memory.py:41 "model": "claude-3-5-sonnet-20241022",
☠ dead
claude-sonnet-4-20250514 → claude-sonnet-5-5 · set as a model value · 1 line
examples/misc/strands_agent_aws_elasticache_neptune.py:61 "model": "us.anthropic.claude-sonnet-4-20250514-v1:0",
⏳ 36 days
gpt-5-mini → gpt-5.6-terra · set as a model value · 2 lines
integrations/hermes-plugin-mem0/_openai_llm.py:31 config.model = "gpt-5-mini"
integrations/hermes-plugin-mem0/_openai_llm.py:34 if config.model == "gpt-5-mini" and config.is_reasoning_model is None:

…and 1 more dead or dying IDs: claude-3-haiku-20240307

langgenius/dify ★ 160,445 · rescan live

☠ dead
gpt-4 → gpt-5.6-sol · set as a model value · 1 line
api/core/hosting_configuration.py:84 RestrictModel(model="gpt-4", base_model_name="gpt-4", model_type=ModelType.LLM),
☠ dead
gpt-4-1106-preview → gpt-5.6-sol · set as a model value · 1 line
api/core/hosting_configuration.py:89 model="gpt-4-1106-preview", base_model_name="gpt-4-1106-preview", model_type=ModelType.LLM
☠ dead
gpt-4-32k → gpt-4o · set as a model value · 1 line
api/core/hosting_configuration.py:87 RestrictModel(model="gpt-4-32k", base_model_name="gpt-4-32k", model_type=ModelType.LLM),
☠ dead
gpt-4-vision-preview → gpt-4o · set as a model value · 1 line
api/core/hosting_configuration.py:92 model="gpt-4-vision-preview", base_model_name="gpt-4-vision-preview", model_type=ModelType

…and 2 more dead or dying IDs: text-davinci-003, gpt-5-nano

JuliusBrussee/caveman ★ 117,607 · rescan live

⏳ 25 days
claude-sonnet-4-5 → claude-sonnet-5-5 · set as a model value · 3 lines
.github/workflows/ci.yml:269 -H 'content-type: application/json' -d '{"model":"claude-sonnet-4-5","max_tokens":1,"messa
integrations/recipes/langchain.json:8 "code": "import os\nfrom langchain_openai import ChatOpenAI\n\nllm = ChatOpenAI(\n mode
⏳ 26 days
gemini-2.5-flash → gemini-3.5-flash-lite (requests auto-route to it from Dec 1, 2026) · set as a model value · 4 lines
integrations/recipes/google-genai.json:8 "code": "import os\nfrom google import genai\nfrom google.genai import types\n\nclient = g
integrations/recipes/google-genai.json:9 "models": ["gemini-2.5-flash"]
☠ dead
gpt-5.2-codex → gpt-5.6-sol · listed only · 1 line
☠ dead
o1 → gpt-5.6-sol · listed only · 3 lines
proxy/providers/openai/reasoning_effort.go:165 // o-series reasoning models: o1, o3, o4 (and dated/suffixed variants).
proxy/providers/openai/reasoning_effort.go:166 for _, fam := range []string{"o1", "o3", "o4"} {

…and 4 more dead or dying IDs: gemini-2.5-pro, gpt-5, gpt-5-pro, o3

open-webui/open-webui ★ 157,825 · rescan live

⏳ 62 days
tts-1 → gpt-realtime-2.1-mini · set as a model value · 4 lines
backend/open_webui/config.py:1634 AUDIO_TTS_MODEL = os.getenv('AUDIO_TTS_MODEL', 'tts-1')
src/lib/apis/openai/index.ts:463 model: string = 'tts-1'
☠ dead
o1-mini → o4-mini · listed only · 1 line
backend/open_webui/routers/openai.py:143 if model_lower.startswith('o1-mini') or model_lower.startswith('o1-preview'):
☠ dead
o1-preview → o3 · listed only · 1 line
backend/open_webui/routers/openai.py:143 if model_lower.startswith('o1-mini') or model_lower.startswith('o1-preview'):
⏳ 36 days
o3 → gpt-5.6-sol · listed only · 1 line
backend/open_webui/routers/openai.py:1110 # o-series models (o1, o3, o4, o5, ...)

datawhalechina/hello-agents ★ 86,105 · rescan live

☠ dead
gpt-3.5-turbo → gpt-5.6-terra · set as a model value · 2 lines
Co-creation-projects/Apricity-InnocoreAI/core/config.py:31 model_name: str = "gpt-3.5-turbo" # OpenAI: gpt-4, gpt-3.5-turbo, gpt-4-turbo-preview
Co-creation-projects/Apricity-InnocoreAI/.env.example:9 # 可选模型: gpt-3.5-turbo, gpt-4, gpt-4-turbo-preview
☠ dead
gpt-4-turbo-preview → gpt-5 or gpt-4.1 · set as a model value · 2 lines
Co-creation-projects/Apricity-InnocoreAI/core/config.py:31 model_name: str = "gpt-3.5-turbo" # OpenAI: gpt-4, gpt-3.5-turbo, gpt-4-turbo-preview
Co-creation-projects/Apricity-InnocoreAI/.env.example:9 # 可选模型: gpt-3.5-turbo, gpt-4, gpt-4-turbo-preview
☠ dead
gpt-4 → gpt-5.6-sol · set as a model value · 1 line
Co-creation-projects/Apricity-InnocoreAI/core/config.py:31 model_name: str = "gpt-3.5-turbo" # OpenAI: gpt-4, gpt-3.5-turbo, gpt-4-turbo-preview

Graphify-Labs/graphify ★ 142,643 · rescan live

☠ dead
claude-3-5-sonnet-20241022 → claude-sonnet-5-5 · set as a model value · 1 line
graphify/llm.py:241 "default_model": "anthropic.claude-3-5-sonnet-20241022-v2:0",
☠ dead
o1 → gpt-5.6-sol · listed only · 2 lines
graphify/llm.py:373 _FIXED_TEMPERATURE_MODEL_MARKERS = ("o1", "o1-", "o3", "o3-", "o4", "o4-", "gpt-5")
graphify/llm.py:389 for fam in ("o1", "o3", "o4"):
☠ dead
o1-preview → o3 · listed only · 1 line
graphify/llm.py:388 # o1 / o3 / o4 family: bare ("o1") or versioned ("o3-mini", "o1-preview").
☠ dead
o3-mini → gpt-5.6-sol · listed only · 1 line
graphify/llm.py:388 # o1 / o3 / o4 family: bare ("o1") or versioned ("o3-mini", "o1-preview").

…and 2 more dead or dying IDs: gpt-5, o3

bytedance/deer-flow ★ 85,017 · rescan live

☠ dead
gpt-4 → gpt-5.6-sol · set as a model value · 3 lines
☠ dead
claude-opus-4-20250514 → claude-opus-4-8 · listed only · 1 line
backend/packages/harness/deerflow/config/managed_model_providers.py:108 elif provider == "anthropic" and model in {"claude-sonnet-4-20250514", "claude-opus-4-2025
☠ dead
claude-sonnet-4-20250514 → claude-sonnet-5-5 · listed only · 1 line
backend/packages/harness/deerflow/config/managed_model_providers.py:108 elif provider == "anthropic" and model in {"claude-sonnet-4-20250514", "claude-opus-4-2025
☠ dead
gpt-4.1-nano → gpt-5.6-luna · listed only · 1 line
backend/packages/harness/deerflow/config/managed_model_providers.py:106 elif provider == "openai" and model in {"gpt-4o", "gpt-4o-mini", "gpt-4.1", "gpt-4.1-mini"

…and 1 more dead or dying IDs: claude-sonnet-4-5-20250929

unclecode/crawl4ai ★ 86,931 · rescan live

☠ dead
claude-3-5-sonnet-latest → claude-sonnet-5-5 · set as a model value · 1 line
crawl4ai/legacy/llmtxt.py:92 model="anthropic/claude-3-5-sonnet-latest",
☠ dead
gpt-3.5-turbo → gpt-5.6-terra · listed only · 1 line
crawl4ai/table_extraction.py:950 encoding = tiktoken.encoding_for_model("gpt-3.5-turbo")
☠ dead
claude-3-5-sonnet-20240620 → claude-sonnet-5-5 · listed only · 1 line
docs/md_v2/marketplace/frontend/app-detail.js:180 provider="${this.appData.name.toLowerCase().includes('gpt') ? 'openai/gpt-4o' : 'anthropic

harry0703/MoneyPrinterTurbo ★ 139,445 · rescan live

⏳ 12 days
gemini-2.5-flash-preview-tts → gemini-3.8-flash-tts or gemini-3.8-flash-lite-tts · set as a model value · 1 line
app/services/voice.py:2008 model="gemini-2.5-flash-preview-tts",
⏳ 26 days
gemini-2.5-flash → gemini-3.5-flash-lite (requests auto-route to it from Dec 1, 2026) · listed only · 1 line

f/prompts.chat ★ 175,853 · rescan live

☠ dead
sora-2 → none listed · set as a model value · 1 line
packages/prompts.chat/src/cli/platforms.ts:22 { id: "mitte-sora-2", name: "Mitte.ai - Sora 2", baseUrl: "https://mitte.ai?model=sora-2",

langchain-ai/langchain ★ 149,063 · rescan live

⏳ 25 days
claude-sonnet-4-5-20250929 → claude-sonnet-5-5 · set as a model value · 1 line
libs/core/langchain_core/runnables/base.py:2961 model_name="claude-sonnet-4-5-20250929"

paperclipai/paperclip ★ 111,236 · rescan live

⏳ 25 days
claude-sonnet-4-5-20250929 → claude-sonnet-5-5 · set as a model value · 1 line
cli/src/checks/llm-check.ts:31 model: "claude-sonnet-4-5-20250929",

paperless-ngx/paperless-ngx ★ 47,712 · rescan live

☠ dead
gpt-3.5-turbo → gpt-5.6-terra · set as a model value · 1 line
src/paperless_ai/client.py:108 model=self.settings.llm_model or "gpt-3.5-turbo",

AstrBotDevs/AstrBot ★ 46,070 · rescan live

⏳ 62 days
tts-1 → gpt-realtime-2.1-mini · set as a model value · 1 line

Mintplex-Labs/anything-llm ★ 67,961 · rescan live

☠ dead
gemini-2.0-flash-lite → gemini-3.1-flash-lite · listed only · 1 line
docker/.env.example:19 # GEMINI_LLM_MODEL_PREF='gemini-2.0-flash-lite'
☠ dead
text-embedding-004 → gemini-embedding-2 · listed only · 1 line
docker/.env.example:265 # EMBEDDING_MODEL_PREF='text-embedding-004'
☠ dead
gpt-3.5-turbo → gpt-5.6-terra · listed only · 1 line
frontend/src/components/LLMSelection/AzureAiOptions/index.jsx:71 <option value={4096}>4,096 (gpt-3.5-turbo)</option>
☠ dead
gpt-4-32k → gpt-4o · listed only · 1 line
frontend/src/components/LLMSelection/AzureAiOptions/index.jsx:74 <option value={32768}>32,768 (gpt-4-32k)</option>

…and 7 more dead or dying IDs: gpt-4-turbo, o1-mini, o3-mini, gpt-5-mini, tts-1, claude-sonnet-4-5-20250929, gemini-2.5-flash

NousResearch/hermes-agent ★ 260,703 · rescan live

☠ dead
claude-opus-4-0 → claude-opus-4-8 · listed only · 1 line
agent/anthropic_adapter.py:92 "claude-3", "claude-opus-4-0", "claude-opus-4.0", "claude-opus-4-1", "claude-opus-4.1",
☠ dead
claude-opus-4-1 → claude-opus-4-8 · listed only · 1 line
agent/anthropic_adapter.py:92 "claude-3", "claude-opus-4-0", "claude-opus-4.0", "claude-opus-4-1", "claude-opus-4.1",
☠ dead
claude-sonnet-4-0 → claude-sonnet-5-5 · listed only · 1 line
agent/anthropic_adapter.py:93 "claude-sonnet-4-0", "claude-sonnet-4.0", "claude-opus-4-2025", "claude-sonnet-4-2025",
☠ dead
claude-opus-4-20250514 → claude-opus-4-8 · listed only · 1 line
agent/anthropic_thinking_policy.py:33 # claude-opus-4-20250514 must remain 4.0 rather than becoming 4.20250514.

…and 4 more dead or dying IDs: gemini-2.0-flash, gemini-2.0-flash-lite, claude-sonnet-4-5, gpt-5-mini

firecrawl/firecrawl ★ 198,769 · rescan live

☠ dead
o3-mini → gpt-5.6-sol · listed only · 5 lines
apps/api/src/lib/generic-ai.ts:131 return modelName.startsWith("o3-mini")
apps/api/src/lib/generic-ai.ts:163 // o3-mini returns empty text via the Responses API — force Chat Completions
☠ dead
gemini-2.0-flash → gemini-3.6-flash · listed only · 1 line
apps/api/src/scraper/scrapeURL/transformers/llmExtract.ts:298 "gemini-2.0-flash": { input_cost: 0.15, output_cost: 0.6 },
☠ dead
gemini-2.0-flash-001 → gemini-3.6-flash · listed only · 1 line
apps/api/src/scraper/scrapeURL/transformers/llmExtract.ts:297 "google/gemini-2.0-flash-001": { input_cost: 0.15, output_cost: 0.6 },
⏳ 26 days
gemini-2.5-pro → gemini-3.8-flash (requests auto-route to it from Dec 1, 2026) · listed only · 3 lines
apps/api/src/lib/generic-ai.ts:152 if (name === "gemini-2.5-pro") {
apps/api/src/lib/generic-ai.ts:153 name = "gemini-2.5-pro";

…and 3 more dead or dying IDs: gpt-5, gpt-5-mini, gpt-5-nano

Significant-Gravitas/AutoGPT ★ 187,906 · rescan live

☠ dead
gpt-image-1 → gpt-image-2.5-sunburst or gpt-image-2.5-flare · listed only · 2 lines
☠ dead
claude-3-5-sonnet-20241022 → claude-sonnet-5-5 · listed only · 1 line
autogpt_platform/backend/backend/copilot/model_normalize.py:86 # forms (``claude-sonnet-4-6``, ``claude-3-5-sonnet-20241022``)
⏳ 62 days
gpt-4o-mini-tts → gpt-realtime-2.1-mini · listed only · 3 lines
autogpt_platform/backend/backend/copilot/config.py:1525 default="gpt-4o-mini-tts",
autogpt_platform/backend/backend/copilot/config.py:1539 description="Delivery instruction for a spoken reply. gpt-4o-mini-tts "

sansan0/TrendRadar ★ 63,455 · rescan live

☠ dead
claude-sonnet-4-20250514 → claude-sonnet-5-5 · listed only · 2 lines
config/config.en.yaml:362 # - anthropic/claude-sonnet-4-20250514 (Anthropic)
config/config.yaml:361 # - anthropic/claude-sonnet-4-20250514 (Anthropic)
⏳ 26 days
gemini-2.5-flash → gemini-3.5-flash-lite (requests auto-route to it from Dec 1, 2026) · listed only · 3 lines
config/config.en.yaml:361 # - gemini/gemini-2.5-flash (Google Gemini)
config/config.yaml:360 # - gemini/gemini-2.5-flash (Google Gemini)
⏳ 36 days
gpt-5 → gpt-5.6-sol · listed only · 1 line
config/config.en.yaml:393 # Note: some models (e.g. gpt-5) may require exactly 1.0, or they error

DietrichGebert/ponytail ★ 184,802 · rescan live

⏳ 25 days
claude-sonnet-4-5 → claude-sonnet-5-5 · listed only · 1 line
hooks/ponytail-band-import.js:33 'claude-sonnet-4-5': [3, 3.75, 6, 0.3, 15],

run-llama/llama_index ★ 52,815 · rescan live

⏳ 36 days
gpt-5-mini → gpt-5.6-terra · listed only · 1 line
.github/workflows/release.yml:41 uv run python -c "from llama_index.core.utils import get_tokenizer; print(get_tokenizer('g

mudler/LocalAI ★ 50,209 · rescan live

☠ dead
claude-3-5-sonnet-20241022 → claude-sonnet-5-5 · listed only · 1 line
backend/go/cloud-proxy/provider_openai.go:154 // (e.g. "claude-3-5-sonnet-20241022").

jeecgboot/JeecgBoot ★ 48,383 · rescan live

☠ dead
dall-e-2 → gpt-image-2 · listed only · 1 line

Check your own

Scan a repo →

Or break your CI before the provider does. This exits 1 on any dead model ID (GitHub Action here):

curl -sL https://lira-ia.github.io/model-check/check.py | python3 - .

Method: GitHub API file list + raw files, max 300 files per repo, read on November 5, 2026. Repos may have changed since. If I got one wrong, the live rescan link next to each repo shows the current state.