Gateway rejected model "claude-haiku-4-5" (HTTP 404) - CC Switch
Quick fix
Turn isFullUrl=true on in the configuration and enter the complete API path, stopping cc-switch from appending /v1/messages automatically.
Symptom
Section titled “Symptom”Inference — Gateway rejected model "claude-haiku-4-5" (HTTP 404)With a third-party provider that supports the OpenAI Responses API (Volcengine Ark Agent Plan, GMI Cloud, and so on), the default cc-switch URL composition produces the wrong request path. cc-switch takes the Base URL you configured as a prefix and appends `/v1/messages` or `/v1/responses` automatically.
For example, if the correct provider interface is `https://ark.cn-beijing.volces.com/api/plan/v3/responses`, cc-switch may compose it as `.../api/plan/v3/v1/messages`, and the upstream returns HTTP 404 Not Found. Separately, the cc-switch Claude Desktop edit form sometimes clears the `isFullUrl` flag automatically, so the correct complete URL cannot be persisted.
Open the cc-switch config file and find the entry for the provider.
Set the provider url to the complete API endpoint address (protocol, domain, and the specific path), not just the domain.
Force isFullUrl to true so cc-switch stops appending the /v1/messages or /v1/responses path.
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”This page is distilled from 2 real issues
- Why does curl work while cc-switch errors?
- Because curl uses the correct complete URL you built by hand, while cc-switch appends a path (/v1/messages) to the Base URL you supply by default. If the provider interface path is not the standard /v1/chat/completions or /v1/messages, you get a 404.
- I changed the configuration in the UI and it still errors after saving. What now?
- This is a known defect in cc-switch 3.16.x: the UI editor may delete the `isFullUrl` flag automatically. Edit the local config file `~/.cc-switch/config.json` directly and make sure `isFullUrl: true` is present and not removed.
- What is the correct URL for Volcengine Ark?
- Enter the complete responses API address, for example `https://ark.cn-beijing.volces.com/api/plan/v3/responses`, and set `isFullUrl: true` in the same configuration block.
Related problems
Section titled “Related problems”This is an unofficial community wiki with no affiliation to the cc-switch authors or the project itself. Its content is compiled from the project's public GitHub issues. This site distributes no software.