It did not work. Here is why.
Seven failures cover almost every first run. Each one starts with the message on your screen.
- 01
You see
401 authentication_error
Because
The key sent by the client is not the key the proxy generated. Regenerating it in the dashboard invalidates the old one immediately.
Fix
Copy the sq- key from the dashboard Endpoint page and set it again in the client. It goes in x-api-key or Authorization: Bearer — either works, but only one of them at a time.
- 02
You see
cannot resolve provider
Because
The model string does not match any routing rule. A bare name with no prefix and no slash cannot be routed to anyone.
Fix
Use provider/model to be explicit — claude/claude-sonnet-5. The full table of prefixes and aliases is in the routing section of the docs.
- 03
You see
502, or a provider error passed straight through
Because
The upstream credential is expired, revoked, or out of quota. The proxy forwards what the provider said rather than inventing a message.
Fix
Open the connection in the dashboard and press Test. It shows the last error verbatim. An OAuth login that has lapsed needs signing in again; an API key that was rotated needs pasting again.
- 04
You see
address already in use
Because
Something else holds port 20130 — most often a second copy of the binary still running.
Fix
Start it on another port with -port, or stop the process holding it. On Windows: netstat -ano | findstr 20130, then Stop-Process on the PID it names.
- 05
You see
Claude Code or Codex still talks to the provider directly
Because
The CLI read its config before you switched it over. Neither tool re-reads that file while running.
Fix
Quit the CLI completely and start it again. If it still bypasses the proxy, check that the dashboard reports the integration as enabled — it writes the config only once.
- 06
You see
x509 or certificate errors on a corporate network
Because
A TLS-inspecting proxy is re-signing traffic with a certificate the Go binary does not trust.
Fix
Add your organisation’s root certificate to the system trust store. The binary uses the OS store; it does not carry its own bundle.
- 07
You see
A Claude model works in Claude Code but not in your own SDK
Because
That model is served through a claude.ai subscription login, and the credential is only accepted by Anthropic’s own clients.
Fix
Connect an Anthropic API key for third-party SDKs. The models page marks every OAuth-only model, so you can tell before you wire anything up.
None of these?
Start the binary from a terminal rather than as a service and read what it prints — the startup output names the port, the data directory and the key it is using.