Troubleshooting

First work out "which layer is wrong" — client to local service, local service to upstream, or the local service itself — then treat accordingly.

Client can't connect

SymptomLikely causeFix
PROXY_NOT_RUNNING / can't connect to the local serviceThe proxy isn't startedClick "Start service" in the tray, or check the status line on the main screen.
Anthropic client 404Base URL has an extra /v1Change it to http://127.0.0.1:9300 (see Protocols).
Connection refusedWrong port, or the port is in useConfirm the listen port (Settings → Network → Listening service), switch ports if needed.
REQUEST_REWRITE_RULE_FAILEDA rewrite rule rejected the requestTurn off rewrite rules one by one to locate it.

Run curl http://127.0.0.1:9300/v1/models first: if it returns the model list, the local service is running and the problem is in the client config.

The request reached local but didn't complete

Error codeMeaningFix
NO_MODEL_CONFIGUREDNo usable upstream providerGo to Model management to add providers and models.
NO_AVAILABLE_PROVIDERThis logical model has no enabled, available provider modelAdd an available model in Logical models, or wait for cooldown to end.
INVALID_MODELThe request carried no usable model nameFill in a non-empty model name in the client (use default if unsure).
MANUAL_MODEL_UNAVAILABLEThe manually pinned model is not currently applicable to this protocolSwitch to a model applicable to the protocol, or use failover mode.
ALL_PROVIDERS_FAILEDEvery upstream provider failedExpand the per-attempt detail in Request logs to see the specific error of each.
UPSTREAM_MODELS_UNAVAILABLECan't fetch the model listCheck whether the endpoint and protocol match (Providers & models).
Error codeMeaningFix
UPSTREAM_AUTH_FAILEDThe upstream rejected authenticationCheck whether the API key is correct and not expired.
UPSTREAM_TIMEOUTThe upstream request timed outSee whether you should raise the timeout, or whether the provider is wobbling.
UPSTREAM_STREAM_ERRORThe streaming response broke unexpectedlyA break after streaming starts aborts rather than stitches; retry and see.
UPSTREAM_UNAVAILABLEUpstream unavailableGo to Analytics to see whether it is happening in a cluster.
Error codeMeaning
SYSTEM_PROXY_RESOLUTION_FAILEDCould not resolve the system proxy settings.
OUTBOUND_PROXY_UNREACHABLECould not connect to the target through the outbound proxy.
OUTBOUND_PROXY_AUTH_REQUIREDThe outbound proxy requires authentication.
OUTBOUND_PROXY_TUNNEL_REJECTEDThe outbound proxy refused to establish a tunnel.

Switch to direct to rule out the proxy

When upstream requests fail across the board, switch Outbound proxy back to "No proxy" to quickly confirm whether the proxy is the problem.

Client config

Error codeMeaningFix
CLIENT_CONFIG_CLIENT_NOT_SUPPORTEDThis client doesn't support auto-fill yetEdit the content manually below the config page.
CLIENT_CONFIG_PARSE_FAILEDThe content can't be parsed in its formatFix the original file's syntax first, then auto-fill; or edit manually.
CLIENT_CONFIG_WRITE_FAILEDCan't write the config fileCheck the file path and permissions.
CLIENT_CONFIG_PATH_NOT_ALLOWEDThe config file is not on the writable listOnly paths on the list can be filled in.

Cloud sync

Error codeMeaningFix
CLOUD_SYNC_NOT_CONFIGUREDNot configured yetSave your credentials first.
CLOUD_SYNC_AUTH_FAILEDCredentials rejectedConfirm the token is valid and has enough scope (only gist is needed).
CLOUD_SYNC_UNREACHABLECan't reach the cloudCheck the network and Outbound proxy.
CLOUD_SYNC_REMOTE_FILE_MISSINGThe remote doesn't have this file yetBack up once on a machine that already has your config.
CLOUD_SYNC_REMOTE_FILE_INVALIDThe remote file is not valid JSONIt may have been broken by hand-editing; re-back-up to overwrite it.

The service itself

SymptomFix
DATABASE_UNAVAILABLECheck whether the data directory is writable and the disk isn't full.
SECRET_STORE_UNAVAILABLEThe system key store is unavailable; see Local-first & secrets.
Startup failure, config anomaliesSee Runtime logs.
Inconsistent version behaviorosw status to check for version drift (Command line).

There are things OSW deliberately doesn't do; see Limitations before digging further.