Troubleshooting by symptom
Record the time, client, model, HTTP status, and request ID when available. Never send a full API key or full prompt.
401: missing or invalid API key
Cause: The Authorization header, environment variable, or config file does not contain the expected key, or the old key was disabled.
Action: Copy the key again from the console, check the variable name and header, then rotate the key if needed.
403: group or protocol is not allowed
Cause: The key's group is disabled, has no usable model, or the client is calling a protocol that the group does not expose.
Action: Check the group in API Keys and the model in live pricing. Claude Code uses Messages; Codex uses Responses.
404: wrong endpoint or path
Cause: The Base URL contains a duplicated or missing /v1 or /v1beta suffix, or the client uses the wrong protocol path.
Action: Copy the endpoint from Use API Key instead of composing it manually. The default OpenAI-compatible endpoint is https://ai1api.com/v1.
429: rate or concurrency limit
Cause: Too many requests arrived in a short period, or the client opened too much concurrency.
Action: Reduce concurrency and retry with exponential backoff. Check balance and group capacity before continuing.
5xx: temporary upstream or gateway failure
Cause: An upstream provider or routing path is temporarily unavailable.
Action: Record the time, model, and request ID, then retry after a short delay. Contact support with the redacted error if it persists.
Streaming stops or waits forever
Cause: The client, proxy, or network is not handling SSE/WebSocket correctly, or the upstream switched during the request.
Action: First retry with stream=false, then check proxy timeouts and client versions. Enable Codex WebSocket only for groups that support it.
Claude Code reports an old version
Cause: The upstream requires a newer Claude Code release.
Action: Upgrade Claude Code using the client message, reopen the terminal, and retry. Do not change the model name to bypass a version check.
macOS says the developer cannot be verified
Cause: macOS blocked an app installed outside the App Store.
Action: Open System Settings → Privacy & Security, choose Open Anyway for the blocked app, and restart it.