[BUG] Docs use retired Claude 3 model ids in native-provider examples (404)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 58.8k
- Forks
- 8.5k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 109
Description
AI-assisted contribution. Researched with Claude Code and reviewed by me before filing.
PerCONTRIBUTING.mdthis needs thellm-generatedlabel; I do not have triage permission
here, so could a maintainer please apply it.
Opening this because the bot on #7262 asked for an associated issue. Same class as #7002,
which #7003 fixed for Gemini; the Claude ids in the same docs are in the same state.
Description
Nine Claude 3 family ids used in the native-provider examples under docs/edge/ now return
404 from the Messages API, so a reader copying one gets an error on the first call.
Checked today, 2026-09-12:
claude-3-5-sonnet-20241022 HTTP 404
claude-3-5-sonnet HTTP 404
claude-3-haiku-20240307 HTTP 404
claude-3-opus HTTP 404
claude-3-sonnet HTTP 404
claude-sonnet-4-6 OK 200
claude-haiku-4-5 OK 200
claude-opus-4-6 OK 200
36 occurrences across 4 files, in all four locales:
learn/llm-selection-guide.mdx(6 per locale)guides/agents/crafting-effective-agents.mdxconcepts/knowledge.mdxconcepts/memory.mdx
Steps to Reproduce
git clone --depth 1 https://github.com/crewAIInc/crewAI.git && cd crewAI
grep -n 'claude-3-5-sonnet' docs/edge/en/learn/llm-selection-guide.mdx
Then call the API with one of them:
curl -s https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" -H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-3-5-sonnet","max_tokens":4,"messages":[{"role":"user","content":"hi"}]}'
Expected behavior
Documentation examples name model ids the API currently serves, so a copied snippet runs.
Screenshots/Code snippets
{"type":"error","error":{"type":"not_found_error","message":"model: claude-3-5-sonnet"}}
Operating System
macOS 26.5 (arm64)
Python Version
3.13
crewAI Version
Docs defect, verified against main @ 894898f
crewAI Tools Version
N/A, documentation only
Virtual Environment
Venv (uv)
Evidence
Probed directly against the Messages API. claude-sonnet-4-6 returns 200 on the same key
and request shape, which rules out a key or quota problem. That id is also already used in
these same files after #7003, so it is consistent rather than new.
Possible Solution
Replace tier for tier, so the surrounding prose stays true: sonnet to claude-sonnet-4-6,
haiku to claude-haiku-4-5, opus to claude-opus-4-6. Tier matters in
llm-selection-guide.mdx in particular, since that page teaches a cost and capability
tradeoff and flattening everything onto one model would undercut the lesson.
I have a branch ready doing exactly that, with the ar, ko and pt-BR translations
synced per AGENTS.md and the frozen docs/v* snapshots untouched. Happy to reopen #7262
against this issue.
Additional context
observability/portkey.mdx and observability/langdb.mdx contain ids that also 404 on the
direct API, but those examples route through a gateway with its own model-id namespace, so
I have deliberately left them out rather than guess.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the four affected documents under docs/edge/ and read AGENTS.md for the ar, ko, and pt-BR translation requirements. Use the listed grep command to locate the retired Claude ids, then verify each tier uses the stated current id while leaving observability examples and frozen docs/v* snapshots untouched.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100