Tool integrations
Common snags with Claude Code, Codex CLI, and the one-click CC Switch import.
1. One-click CC Switch import
1.1 "Open CC Switch" does nothing — what now?
CC Switch is usually either missing or too old — one-click import needs a recent build. Install or upgrade it and try again.
Failing that, add the provider by hand; the Copy request URL button in the import dialog gives you the URL to carry over. Installation instructions are on the Claude Code and Codex CLI provider pages.
1.2 The model dropdowns in the import dialog are empty — why?
The key is incomplete or invalid — the model list is fetched with it. Copy the full sk-... key again, or create a new one.
2. Request URLs, authentication & models
2.1 Does the request URL need /v1 or not?
It differs per tool, and this is the single most common mistake:
| Tool | Request URL |
|---|---|
| Claude Code | https://hopsapi.com (bare domain; it appends /v1/messages itself) |
| Codex CLI | https://hopsapi.com/v1 |
Neither takes a trailing slash. The console's one-click import fills this in correctly based on the application you select.
2.2 Claude Code reports an authentication error — what do I check?
Confirm the Anthropic base URL is right and that the API key is valid. See Configure a model provider.
2.3 Can I use GPT or Gemini models in Claude Code?
No. Claude Code calls /v1/messages, and HopsAPI serves only the Claude family on that endpoint — any other model ID will fail.
To reach those models, use their own protocol; see Protocols & endpoints.
3. Requests aren't reaching the gateway
3.1 Why do Claude Code requests still hit Anthropic?
Run /status in the session and compare the base URL. The usual cause is a stale terminal still holding the old environment variables — open a new one.
3.2 Why do Codex requests still reach OpenAI?
In ~/.codex/config.toml, model_provider doesn't match the name in [model_providers.…] — both must use the same word.
Also avoid openai, ollama, and lmstudio; Codex reserves all three.
3.3 Codex returns 404 / unknown endpoint, or an empty streamed response — why?
The model doesn't support the Responses protocol. Codex CLI supports only Responses (wire_api = "responses"), and HopsAPI has no Chat Completions fallback for it.
Pick a Responses-capable model — see Models & protocols for how to check.
3.4 Why do my configuration changes have no effect?
Two cases:
- Claude Code reads its configuration at launch, so restart the session after changing anything.
- Codex: you didn't restart the terminal, or the settings went into a project-local
.codex/config.toml—model_providerandmodel_providersare read only from the user-level~/.codex/config.toml. When configuring through CC Switch, check Apply shared config so the settings reach the global file.
4. Codex desktop app
4.1 Why does the desktop app still ask me to sign in to OpenAI?
It isn't picking up the configuration. The desktop app and the CLI share the same ~/.codex/config.toml; walk through the four checks on Codex desktop and confirm model_provider and base_url match on both sides.
Restart the desktop app after changing anything.
4.2 Why does the desktop app error while the CLI works?
The key comes from different places: manual setup keeps it in an environment variable, which the desktop app doesn't necessarily inherit from your shell.
Configuring through CC Switch avoids this — it writes the key straight into Codex's configuration file.