René's URL Explorer Experiment


Title: /provider/v1/messages: 403 "Authentication failed" for claude-sonnet-5-5 and claude-haiku-5-5 only (auth passes for other models) · Issue #26 · CommandCodeAI/commandcode-status · GitHub

Open Graph Title: /provider/v1/messages: 403 "Authentication failed" for claude-sonnet-5-5 and claude-haiku-5-5 only (auth passes for other models) · Issue #26 · CommandCodeAI/commandcode-status

X Title: /provider/v1/messages: 403 "Authentication failed" for claude-sonnet-5-5 and claude-haiku-5-5 only (auth passes for other models) · Issue #26 · CommandCodeAI/commandcode-status

Description: Describe the bug POST https://api.commandcode.ai/provider/v1/messages returns HTTP 403 for two model IDs: {"type":"error","error":{"type":"permission_error","message":"Authentication failed. Please check your credentials."}} with model=c...

Open Graph Description: Describe the bug POST https://api.commandcode.ai/provider/v1/messages returns HTTP 403 for two model IDs: {"type":"error","error":{"type":"permission_error","message":"Authentication failed. Please...

X Description: Describe the bug POST https://api.commandcode.ai/provider/v1/messages returns HTTP 403 for two model IDs: {"type":"error","error":{"type":"permission_er...

Mail addresses
liuqing200kg@gmail.com

Opengraph URL: https://github.com/CommandCodeAI/commandcode-status/issues/26

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"/provider/v1/messages: 403 \"Authentication failed\" for claude-sonnet-5-5 and claude-haiku-5-5 only (auth passes for other models)","articleBody":"**Describe the bug**\n\n`POST https://api.commandcode.ai/provider/v1/messages` returns HTTP 403 for two model IDs:\n\n```json\n{\"type\":\"error\",\"error\":{\"type\":\"permission_error\",\"message\":\"Authentication failed. Please check your credentials.\"}}\n```\n\nwith `model=claude-sonnet-5-5` and `model=claude-haiku-5-5`. The credentials are valid — auth passes for every other model on the same endpoint with the same key.\n\nStarted 2026-10-16 ~11:00 CST (03:00 UTC). Last success 10:59:51, first 403 11:00:30.\n\n**Evidence that this is server-side (auth is evaluated before the plan check, and passes)**\n\nSame key, same second, same User-Agent:\n\n| request | result |\n|---|---|\n| `GET /alpha/billing/credits` | 200, `monthlyCredits` 63.44 (key valid, funded) |\n| `GET /provider/v1/models` | 200, 92 models incl. `claude-sonnet-5-5` |\n| `POST /provider/v1/messages` `claude-sonnet-5` | 403 **MODEL_NOT_IN_PLAN** ← auth passed |\n| `POST /provider/v1/messages` `claude-opus-5` | 403 **MODEL_NOT_IN_PLAN** ← auth passed |\n| `POST /provider/v1/messages` `claude-sonnet-5-5` | 403 **Authentication failed** ← only these two |\n| `POST /provider/v1/messages` `claude-haiku-5-5` | 403 **Authentication failed** |\n| `POST /provider/v1/chat/completions` `claude-sonnet-5-5` | 400 \"must be called via /messages\" (auth passed) |\n| `POST /provider/v1/chat/completions` `deepseek/deepseek-v4.1-flash` | 200 (key fully works) |\n\nThe two `MODEL_NOT_IN_PLAN` rows are the point: they are ordinary business errors, so auth runs before the plan check and it passed. Auth therefore passes for `claude-sonnet-5` but fails for `claude-sonnet-5-5`, on the same endpoint, same key — that is the inconsistency.\n\n**To Reproduce**\n\n```sh\nKEY='user_...'\nUA='claude-cli/2.1.300 (external, cli)'\n\n# key valid & funded -> 200\ncurl -s -H \"Authorization: Bearer $KEY\" -H \"User-Agent: $UA\" \\\n  https://api.commandcode.ai/alpha/billing/credits\n\n# another model, SAME endpoint -> 403 MODEL_NOT_IN_PLAN (auth passed)\ncurl -s -X POST https://api.commandcode.ai/provider/v1/messages \\\n  -H \"Authorization: Bearer $KEY\" -H \"User-Agent: $UA\" \\\n  -H 'content-type: application/json' -H 'anthropic-version: 2023-06-01' \\\n  -d '{\"model\":\"claude-sonnet-5\",\"max_tokens\":16,\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}]}'\n\n# the problem case -> 403 Authentication failed\ncurl -s -X POST https://api.commandcode.ai/provider/v1/messages \\\n  -H \"Authorization: Bearer $KEY\" -H \"User-Agent: $UA\" \\\n  -H 'content-type: application/json' -H 'anthropic-version: 2023-06-01' \\\n  -d '{\"model\":\"claude-sonnet-5-5\",\"max_tokens\":16,\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}]}'\n```\n\n**Ruled out**\n\n- Bad key / out of credits: billing 200 ($63.44), deepseek 200, and business errors on the same endpoint. A genuinely exhausted key answers 400 \"insufficient credits\", not 403 (we have a second key on the account showing exactly that, so the two signatures are distinguishable).\n- Rate limiting: reproduced with single requests 6–8 s apart, and again after a 3-minute cooldown.\n- Request body / thinking shape: a 400 \"Invalid input at thinking\" appeared immediately before the first 403 in our logs, so we tested `thinking.type=enabled` with `budget_tokens`, `thinking.type=adaptive`, and a plain body with no thinking. All three now return the same 403.\n- User-Agent: `claude-cli/2.1.300`, `magpie/0.1.1265`, and Python-urllib give the identical 403.\n- Auth header shape: `Authorization: Bearer`, `x-api-key`, and both together — identical 403.\n- Payload size: a 200 KB body behaves the same as a 40-byte body.\n\n**Impact**\n\nBeyond the two models being unusable via the Anthropic endpoint: the error text is indistinguishable from a real credential failure. Claude Code maps a 403 to \"credentials rejected\" and shows the login flow, so clients show `/login` repeatedly while the key is valid and funded, and users rotate perfectly good keys. Any client that auto-retries on 401/403 will also thrash.\n\n**What would help**\n\n1. Return `403 MODEL_NOT_IN_PLAN` for these two IDs (as you already do for `claude-sonnet-5` / `claude-opus-5`) if they are not on the current plan; reserve `403 Authentication failed` for requests whose credentials truly did not validate.\n2. Check why auth rejects these two model IDs specifically when other models pass on the same endpoint.\n3. If this was an intentional plan change at ~03:00 UTC on 2026-10-16, a changelog line and a distinct error code would save people from debugging credentials that were never broken.\n\n**Account**: liuqing200kg@gmail.com (GitHub: @lqisgod). Happy to provide raw request/response captures or test further on our account.\n","author":{"url":"https://github.com/esp32gallery","@type":"Person","name":"esp32gallery"},"datePublished":"2026-10-16T15:39:53Z","url":"https://github.com/CommandCodeAI/commandcode-status/issues/26"}

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:ddf30525-a0e1-d589-e86b-883f4017e137
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idB33E:1C0A93:DDEF32:12ECBF7:6AEC5437
html-safe-noncea83e27a682a96322eace1b80cbd8ac8842ea50ba45e6547902b84d41d556b7e5
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMzNFOjFDMEE5MzpEREVGMzI6MTJFQ0JGNzo2QUVDNTQzNyIsInZpc2l0b3JfaWQiOiIzNzUzMDcxNzIwNzM0MTUxNzM1IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac6d52288f11877fd8ba27fff811758542298bc4203dfdb7857b3db34b37f40548
hovercard-subject-tagissue:5886939239
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/CommandCodeAI/commandcode-status/26/issue_layout
twitter:imagehttps://opengraph.githubassets.com/b828cd378cbbe78332fd8fbbd15d570255f29723afae596ad4b860970637566b/CommandCodeAI/commandcode-status/issues/26
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/b828cd378cbbe78332fd8fbbd15d570255f29723afae596ad4b860970637566b/CommandCodeAI/commandcode-status/issues/26
og:image:altDescribe the bug POST https://api.commandcode.ai/provider/v1/messages returns HTTP 403 for two model IDs: {"type":"error","error":{"type":"permission_error","message":"Authentication failed. Please...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameesp32gallery
hostnamegithub.com
expected-hostnamegithub.com
None3488dbe5257a92e2a716c5c60d82d398cf6def63a52378c4c79ede7ee87ab2b7
turbo-cache-controlno-preview
go-importgithub.com/CommandCodeAI/commandcode-status git https://github.com/CommandCodeAI/commandcode-status.git
octolytics-dimension-user_id151507869
octolytics-dimension-user_loginCommandCodeAI
octolytics-dimension-repository_id1166102914
octolytics-dimension-repository_nwoCommandCodeAI/commandcode-status
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1166102914
octolytics-dimension-repository_network_root_nwoCommandCodeAI/commandcode-status
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release4bf5a08d17949149357af9350daf183c3e7e0a4d
ui-targetfull
theme-color#1e2327
color-schemelight dark
react-app-nameissues

Links:

Skip to contenthttps://github.com/CommandCodeAI/commandcode-status/issues/26#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FCommandCodeAI%2Fcommandcode-status%2Fissues%2F26
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FCommandCodeAI%2Fcommandcode-status%2Fissues%2F26
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=CommandCodeAI%2Fcommandcode-status
Reloadhttps://github.com/CommandCodeAI/commandcode-status/issues/26
Reloadhttps://github.com/CommandCodeAI/commandcode-status/issues/26
Reloadhttps://github.com/CommandCodeAI/commandcode-status/issues/26
CommandCodeAIhttps://github.com/CommandCodeAI
commandcode-statushttps://github.com/CommandCodeAI/commandcode-status
Codehttps://github.com/CommandCodeAI/commandcode-status
Issues1 (1)https://github.com/CommandCodeAI/commandcode-status/issues
Pull requestshttps://github.com/CommandCodeAI/commandcode-status/pulls
Actionshttps://github.com/CommandCodeAI/commandcode-status/actions
Projectshttps://github.com/CommandCodeAI/commandcode-status/projects
Security and qualityhttps://github.com/CommandCodeAI/commandcode-status/security
Insightshttps://github.com/CommandCodeAI/commandcode-status/pulse
https://github.com/CommandCodeAI/commandcode-status
New issuehttps://github.com/login?return_to=https://github.com/CommandCodeAI/commandcode-status/issues/26
New issuehttps://github.com/login?return_to=https://github.com/CommandCodeAI/commandcode-status/issues/26
/provider/v1/messages: 403 "Authentication failed" for claude-sonnet-5-5 and claude-haiku-5-5 only (auth passes for other models)https://github.com/CommandCodeAI/commandcode-status/issues/26#top
https://github.com/esp32gallery
esp32galleryhttps://github.com/esp32gallery
on Oct 16, 2026https://github.com/CommandCodeAI/commandcode-status/issues/26#issue-5886939239
https://github.com/arjhinety
arjhinetyhttps://github.com/arjhinety
on Oct 22, 2026https://github.com/CommandCodeAI/commandcode-status/issues/26#issuecomment-6342703187
Sign up for freehttps://github.com/signup?return_to=https://github.com/CommandCodeAI/commandcode-status/issues/26
Sign in to commenthttps://github.com/login?return_to=https://github.com/CommandCodeAI/commandcode-status/issues/26
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.