Claude Model Version Not Found: Sửa Sai Model ID, Alias và API Route
Nếu bạn thấy lỗi Claude model version not found, đừng bắt đầu bằng cách đổi prompt. Hãy bắt đầu bằng việc chứng minh ba điều: model ID có tồn tại hiện tại, endpoint của bạn mong đợi đúng định dạng ID đó, và workspace hoặc router bạn đang dùng được phép gọi nó.
Cách sửa nhanh thường là một trong những điều sau:
| Kiểm tra | Thường đã hỏng gì | Cách sửa |
|---|---|---|
| Model ID | Một Claude snapshot hard-code đã cũ, lỗi chính tả, hoặc tên model được sao chép từ nhà cung cấp khác | Thay bằng một Claude API alias hiện tại như claude-sonnet-5-5, claude-opus-5-5, claude-haiku-5-5, hoặc claude-fable-5-1 sau khi kiểm tra danh sách model Anthropic hiện tại. |
| Hợp đồng endpoint | Một ID kiểu Bedrock, Vertex, Azure, OpenAI-compatible, hoặc riêng cho gateway đã được gửi đến sai API | Khớp chuỗi model với endpoint mà bạn đang gọi. |
| Base URL | SDK đang trỏ tới base_url, path, hoặc route sai |
Xác nhận client đang dùng Anthropic-native /v1/messages hay một route tương thích OpenAI. |
| Quyền truy cập | Model tồn tại, nhưng workspace, tài khoản nhà cung cấp, hoặc sub-key của bạn không được phép dùng nó | Kiểm tra quyền workspace, allowlist, và quyền truy cập model trước khi thử lại. |
| Trạng thái rollout | Một model vừa được công bố có hiển thị trong docs nhưng chưa xuất hiện trong router hoặc deployment của bạn | Canary route và giữ model đang hoạt động trước đó cho đến khi route mới vượt qua. |
Hướng dẫn này cung cấp cho bạn một runbook thực tế cho các lỗi claude model version not found, claude model version, và claude model versions trong ứng dụng production, thiết lập Claude Code, gateway, và hạ tầng agent.
Ý nghĩa của "Claude model version not found"
Claude model version not found thường là mô tả ở tầng tích hợp cho lỗi phân giải model. Lỗi trực tiếp từ Anthropic API là các lỗi JSON có cấu trúc. Anthropic tài liệu hóa 404 - not_found_error cho một tài nguyên được yêu cầu nhưng không thể tìm thấy, và phần thân lỗi của họ bao gồm error.type, error.message, và request ID. Messages API của Anthropic cũng yêu cầu trường model để chỉ định model thực hiện prompt.
Điều đó rất quan trọng. Một phản hồi trực tiếp từ API, một exception của SDK, một wrapper của gateway, và một CLI của agent có thể diễn đạt cùng một lỗi nền theo nhiều cách khác nhau. Việc của bạn là giữ nguyên status code thô, error.type, message, request ID, chuỗi model, đường dẫn endpoint, và base URL trước khi thử lại.
Hãy dùng quy tắc phân loại sau:
- 404 /
not_found_error: kiểm tra trước path endpoint, định danh model, và resource ID. - 400 /
invalid_request_error: kiểm tra xem model có tồn tại nhưng từ chối một setting, tool type, thinking mode, prefill, hoặc hình dạng request hay không. - 401 / 403: kiểm tra xác thực, quyền truy cập workspace, và quyền model.
- Gateway-specific "model version not found": kiểm tra cả catalog model của gateway và ID provider upstream mà nó ánh xạ tới.
Kiểm tra model ID Claude hiện tại
Trước khi sửa code, hãy so sánh chuỗi model bị lỗi với danh sách chính thức hiện tại. Tính đến tài liệu model Anthropic hiện tại được kiểm tra cho bài viết này, các Claude API alias hiển thị bao gồm:
| Nhóm | Claude API alias cần xác minh |
|---|---|
| Fable | claude-fable-5-1 |
| Opus | claude-opus-5-5 |
| Sonnet | claude-sonnet-5-5 |
| Haiku | claude-haiku-5-5 |
Đừng cho rằng một tên model từ bài blog, nhãn UI, marketplace của nhà cung cấp, hoặc ví dụ code cũ đều hợp lệ cho mọi bề mặt API. Tài liệu của Anthropic cho thấy các ID riêng biệt cho Claude API, Amazon Bedrock, Google Cloud, Microsoft Foundry, và Claude Platform on AWS. Những ID này có thể trông giống nhau, nhưng không thể dùng thay thế cho nhau.
Sáu nguyên nhân phổ biến
1. Một Claude model version hard-code đã cũ
Model ID hard-code sẽ lỗi thời rất nhanh. Một service có thể vẫn chứa một snapshot cũ như:
const model = "claude-3-7-sonnet-20250219";
Nếu endpoint không còn chấp nhận snapshot đó, hoặc router của bạn chưa bao giờ map nó, request có thể thất bại trước khi prompt được đánh giá. Hãy thay giá trị hard-code bằng một alias hiện tại mà endpoint của bạn hỗ trợ, rồi lưu alias đó trong một nguồn cấu hình duy nhất thay vì rải rác nhiều file.
const model = process.env.CLAUDE_MODEL ?? "claude-sonnet-5-5";
Với hệ thống production, hãy log cả alias đã cấu hình và route đã resolve. Điều đó biến lần sự cố Claude model version not found tiếp theo thành một diff cấu hình thay vì một cuộc tìm kiếm code.
2. Một ID đặc thù của nhà cung cấp đã được gửi tới Claude API
Các nền tảng nhà cung cấp dùng định danh model riêng của họ. Một ID kiểu Bedrock hoặc Vertex có thể hợp lệ trên nền tảng đó nhưng không hợp lệ với native Claude API. Chiều ngược lại cũng đúng: một Claude API alias native có thể không phải định danh đầy đủ mà runtime của cloud provider mong đợi.
Hãy dùng bảng hợp đồng endpoint này:
| Bạn đang gọi | Model ID nên trông như thế nào | Tránh |
|---|---|---|
Anthropic Claude API /v1/messages |
Claude API alias từ tài liệu Anthropic, ví dụ claude-sonnet-5-5 |
Bedrock, Vertex, hoặc các ID có tiền tố Foundry |
| Amazon Bedrock | Bedrock model ID được hiển thị trong tài liệu của nhà cung cấp hoặc trên console | Các alias gốc chỉ dành cho Claude khi SDK mong đợi Bedrock ID |
| Google Cloud / Vertex | Google Cloud model ID được hiển thị cho deployment đó | Native hoặc Bedrock ID được dán từ môi trường khác |
| OpenAI-compatible router | Model catalog ID của router | Các request shape native của Anthropic, trừ khi router hỗ trợ rõ ràng |
| Flatkey router | Một route được Flatkey hỗ trợ từ Flatkey model catalog hoặc hướng dẫn thiết lập | Các key nhà cung cấp rời rạc và các override theo agent chưa được rà soát |
Nếu deployment của bạn trải dài qua Anthropic trực tiếp, các endpoint của cloud provider, và một router, hãy giữ một bảng dịch nhỏ trong config:
routes:
claude_primary:
api_surface: anthropic_messages
model: claude-sonnet-5-5
claude_gateway:
api_surface: openai_compatible_router
model: claude-sonnet-5-5
claude_bedrock:
api_surface: bedrock
model: anthropic.claude-sonnet-5-5
Các chuỗi chính xác phải đến từ provider hoặc router bạn đang dùng. Mục đích là làm rõ API surface.
3. Base URL và SDK không khớp
Anthropic SDK mong đợi hợp đồng của Anthropic Messages API. Một OpenAI-compatible router mong đợi client và payload tương thích OpenAI, trừ khi nó tài liệu hóa một route tương thích Anthropic. Nếu client, path, và model field bị trộn lẫn, lỗi có thể trông như thiếu Claude model version ngay cả khi vấn đề thực sự là route sai.
Kiểm tra các field này cùng nhau:
SDK/client: Anthropic SDK, OpenAI SDK, Claude Code, Cursor, Cline, custom HTTP
Base URL: direct provider, router, staging proxy, local mock
Path: /v1/messages, /v1/chat/completions, provider-specific runtime path
Model ID format: native Claude alias, cloud-provider ID, router catalog ID
Auth header: x-api-key, Authorization: Bearer, provider-specific signing
Nếu một dòng thuộc về một API surface khác, hãy sửa điều đó trước khi thử lại.
4. Một Claude alias mới chưa tới được router của bạn
Việc ra mắt model không diễn ra đồng thời trên mọi SDK, proxy, cloud provider, và gateway. Một model có thể xuất hiện trong một catalog trước khi route, allowlist, hoặc deployment của bạn hỗ trợ nó.
Hãy dùng canary thay vì chuyển ngay traffic production:
model_canary:
candidate_model: claude-sonnet-5-5
previous_model: claude-sonnet-5
checks:
- minimal non-streaming request
- streaming request if your app streams
- tool-call request if your app uses tools
- token-count or dry-run path if available
- billing and usage ledger row
rollout:
start: 1%
promote_when: 100 successful requests and no model-resolution errors
rollback_on: any repeated not_found_error or route mismatch
Đây là nơi routing và ledger view của Flatkey giúp ích. Nếu Claude chỉ là một route trong số nhiều model, hãy dùng một model catalog, một base route review, và một usage ledger thay vì gỡ lỗi các console của provider riêng lẻ và các config agent riêng lẻ.
5. Quyền của workspace hoặc allowlist model chặn truy cập
Đôi khi chuỗi model là hợp lệ, nhưng key của bạn không thể gọi nó. Điều đó có thể xảy ra ở layer workspace của provider, cloud account, router, hoặc sub-key.
Kiểm tra:
- API key có thuộc về workspace bạn mong đợi hay không.
- Model đó có được bật cho workspace đó hay không.
- Gateway sub-key, environment key, hoặc agent key có model allowlist hay không.
- Key staging và production có quyền truy cập model khác nhau hay không.
- Giới hạn chi tiêu hoặc policy control có đang trả về lỗi mang hình dạng của lỗi quyền truy cập hay không.
Đừng giải quyết lỗi truy cập bằng cách mở rộng mọi key. Hãy tạo một policy chặt chẽ quy định agent và môi trường nào được gọi từng Claude model version.
6. Model tồn tại, nhưng request của bạn dùng các tính năng model không được hỗ trợ
Tài liệu lỗi của Anthropic liệt kê một số lỗi validation trong đó model là thật nhưng request shape không hợp lệ. Ví dụ gồm khác biệt thinking-mode, cài đặt forced tool-use, hỗ trợ tool type, và prefilled assistant messages trên các model mới hơn.
Nếu status là 400 invalid_request_error, hãy ngừng tìm kiếm một model version bị thiếu. Thay vào đó, hãy diff request body với các quy tắc năng lực hiện tại của model. Cách sửa có thể là thay đổi thinking, tool_choice, khai báo tool, hoặc xử lý message history thay vì thay đổi model.
Runbook gỡ lỗi cho production
Bước 1: Ghi lại toàn bộ request bị lỗi
Lưu một debug record tối thiểu trước khi chỉnh sửa bất cứ thứ gì:
{
"provider": "anthropic_or_router_name",
"base_url": "https://api.example.com",
"path": "/v1/messages",
"model": "claude-sonnet-5-5",
"sdk": "anthropic-typescript",
"status": 404,
"error_type": "not_found_error",
"request_id": "req_...",
"environment": "production",
"api_key_scope": "prod-agent-key"
}
Nếu bạn dùng Flatkey, hãy ghi lại luôn route, sub-key, dòng usage-ledger và mọi quyết định fallback. Nếu bạn dùng trực tiếp Anthropic, hãy giữ giá trị request-id từ phản hồi vì Anthropic sẽ hỏi mã định danh này trong các trường hợp hỗ trợ.
Bước 2: Tái hiện với yêu cầu nhỏ nhất
Loại bỏ tools, lịch sử dài, ảnh, các khối cached thinking và wrapper của framework. Kiểm thử một tin nhắn ngắn với đúng cùng model và key.
curl 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-sonnet-5-5",
"max_tokens": 64,
"messages": [
{"role": "user", "content": "Reply with ok."}
]
}'
Nếu yêu cầu tối thiểu hoạt động, phiên bản model tồn tại cho key và endpoint đó. Chuyển sang debug cấu trúc request. Nếu thất bại với cùng kết quả not-found, hãy tập trung vào chuỗi model, endpoint hoặc lớp truy cập.
Bước 3: Chuẩn hóa model ID ở một nơi
Tạo một nguồn cấu hình duy nhất cho các phiên bản Claude model:
models:
claude_default:
owner: platform
api_surface: anthropic_messages
model: claude-sonnet-5-5
fallback: claude-haiku-5-5
last_verified: "2026-10-10"
claude_reasoning:
owner: agents
api_surface: anthropic_messages
model: claude-opus-5-5
fallback: claude-sonnet-5-5
last_verified: "2026-10-10"
Sau đó chặn việc dùng model ID thô trong mã ứng dụng. Ứng dụng nên yêu cầu claude_default, thay vì dán một phiên bản Claude model mới vào năm dịch vụ khác nhau.
Bước 4: Kiểm tra cấu hình agent và CI
Lỗi Claude model version not found thường xuất phát từ một biến môi trường bị quên hơn là một thay đổi mã. Hãy kiểm tra:
.env,.env.productionvà các giá trị từ secret manager.- Các biến của Claude Code, Cursor, Cline, Roo, Aider và GitHub Actions.
- Giá trị mặc định của Docker image và config map của Kubernetes.
- Danh sách allowlist model theo từng customer hoặc team sub-key.
- Các override cho môi trường phát triển cục bộ đã bị sao chép sang production.
Nếu nhóm của bạn dùng Claude Code thông qua một gateway, hãy kiểm tra cả thiết lập auth và base URL. Một ANTHROPIC_BASE_URL hoặc phạm vi key sai có thể làm chẩn đoán model trở nên nhiễu; hãy dùng hướng dẫn lỗi token xác thực Claude Code khi phần xác thực cũng đang thất bại.
Bước 5: Quyết định retry, fallback hay fail closed
Đừng retry mãi một lỗi missing-model mang tính quyết định. Hãy dùng chính sách này:
| Mẫu lỗi | Retry? | Fallback? | Hành động của con người |
|---|---|---|---|
| Sai chính tả hoặc model ID cũ | Không | Chỉ sau khi cấu hình đã được sửa | Cập nhật model registry và triển khai lại |
| Alias mới chưa có trong router | Không retry lặp lại | Giữ model đã xác minh trước đó | Mở task bật route/canary |
| Workspace không có quyền truy cập | Không | Có thể, nếu có fallback đã được phê duyệt | Sửa key, workspace hoặc allowlist |
| 400 request-shape mismatch | Không | Chưa cho đến khi request được sửa | Patch body request hoặc feature flags |
| 529 quá tải hoặc sự cố upstream tạm thời | Có, với backoff có giới hạn | Có, nếu chính sách fallback cho phép | Theo dõi sức khỏe route |
Với xử lý quá tải tạm thời, hãy dùng runbook khác: API Error 529 overloaded. Lỗi version model thường mang tính quyết định cho đến khi bạn thay đổi cấu hình.
Checklist rà soát route Flatkey
Khi Claude là một phần của hệ thống đa model, một router cho bạn một nơi để rà soát tên model, key, allowlist, chi tiêu và fallback. Định vị của Flatkey là một key, một số dư, một hóa đơn, các endpoint model chính thức và một usage ledger dùng chung giữa các model và công cụ.
Hãy dùng checklist này trước khi promote một route Claude mới:
route_review:
route_name: claude_primary
current_model: claude-sonnet-5-5
endpoint_contract: openai_compatible_or_anthropic_native
owner: platform
environments:
dev: verified
staging: verified
production: canary
controls:
sub_key_allowlist: true
request_ledger: true
fallback_policy: explicit
usage_alert: true
rollback:
previous_model: claude-sonnet-5
trigger: repeated model-resolution errors
Về thiết kế route rộng hơn, hãy đọc Claude API proxy vs multi-model router và AI model catalog guide. Về đánh đổi chi phí và routing, hãy ghép bài này với Claude API pricing và LLM API fallback routing.
Checklist sự cố có thể sao chép
Dùng nội dung này trong Slack, Linear, GitHub hoặc tài liệu sự cố của bạn:
## Claude model version not found incident
- Failing model string:
- API surface: Anthropic native / router / Bedrock / Vertex / other
- Base URL:
- Request path:
- SDK or client:
- Status code:
- error.type:
- request-id:
- First failing deploy:
- Current official model alias checked:
- Does minimal request pass?
- Is model enabled for this workspace/key/sub-key?
- Is this an unsupported feature error instead of model-not-found?
- Rollback model:
- Owner:
Hãy giữ checklist thật nhàm chán. Mục tiêu là ngăn việc thiếu một model version của Claude biến thành một sự cố diện rộng, nơi mỗi team lại thay đổi một cấu hình khác nhau.
Câu hỏi thường gặp
“Claude model version not found” có giống lỗi 404 không?
Thường là có, nhưng không phải lúc nào cũng vậy. Anthropic ghi nhận 404 - not_found_error cho các tài nguyên bị thiếu, trong khi SDK và gateway có thể diễn đạt lại thông báo. Hãy giữ nguyên status code thô và error.type trước khi quyết định.
Tôi nên dùng phiên bản Claude model nào?
Hãy dùng các model alias hiện tại từ API hoặc từ bề mặt nhà cung cấp mà bạn đang gọi. Đừng sao chép một Claude model version từ nhà cung cấp cloud khác, router khác, hoặc ví dụ code cũ mà không kiểm tra catalog của endpoint đó.
Tôi nên dùng alias hay snapshot theo ngày?
Đối với hầu hết các team ứng dụng, alias hiện tại dễ vận hành hơn vì nhà cung cấp kiểm soát mapping được hỗ trợ. Nếu bạn cần khả năng tái lập nghiêm ngặt, hãy ghi rõ chính sách snapshot chính xác, kế hoạch ngừng hỗ trợ và đường dẫn rollback.
Flatkey có thể tự động sửa Claude model version not found không?
Flatkey không thể biến một model ID upstream không hợp lệ thành hợp lệ, nhưng có thể giảm số nơi mà các ID sai bị ẩn đi. Hãy dùng Flatkey để tập trung việc rà soát model catalog, routing bằng một key, allowlist theo sub-key, log sử dụng, và chính sách fallback khi Claude chỉ là một tuyến model trong nhiều tuyến khác.
Khi nào tôi nên fallback sang model khác?
Fallback là phù hợp sau khi bạn đã phân loại lỗi. Đừng fallback vì gõ sai, sai base URL, hoặc key không được ủy quyền. Hãy fallback khi chính sách của bạn cho biết tuyến hiện tại không khả dụng và tuyến tiếp theo đã vượt qua cùng các kiểm tra về input, chất lượng và chi phí.
Kiểm tra cuối cùng
Trước khi đóng ticket claude model version not found, hãy xác nhận bản sửa ở ba nơi: cấu hình nguồn, bài kiểm tra API tối thiểu, và log tuyến production. Sau đó thêm Claude model version đang hoạt động vào model registry để lần triển khai tiếp theo không đưa lại cùng một chuỗi cũ.
Nếu bạn đã đang routing nhiều model, hãy kiểm tra thay đổi tương tự qua Flatkey để request ledger, chính sách fallback và model allowlist của bạn đều khớp trước khi traffic production chuyển sang.



