Client configuration

The Client configuration page lets OSW edit local AI client config files directly, saving you from hand-copying the Base URL and model name.

Supported clients

ClientProtocolConfig files
Claude CodeAnthropic Messages~/.claude/settings.json, credential file
CodexOpenAI Responses~/.codex/config.toml, auth.json
OpenCodeOpenAI Chat Completions~/.config/opencode/opencode.json, auth file

Other known clients (Cursor CLI, Copilot CLI, etc.) provide reference values only and must be filled in manually.

Auto-fill

Click Auto-fill for a client: it writes the access address and sets the current logical model as the model of the local provider named osw. Each client gets exactly this one entry written, and it is the single landing point inside OSW.

One entry per client

Auto-fill does not walk every configured client — only the one you clicked. To change several at once, use "Apply all" below.

Apply all

Apply all in the top-right of the page header handles every configured client that supports writing, in one pass, and reports the result of each.

Revert

Every write is backed up first, and each client keeps a history of revertible versions:

  • Click Revert to undo auto-fill and restore the original file.
  • The History section lists the points in time a client can be reverted to; you can preview, pick one manually, or delete a backup you do not want to keep.

Back up before writing

Revert is based on the backup taken before the write, so the original content before the very first auto-fill is always recoverable.

Manual configuration

If you would rather OSW did not touch files, fill in these two lines yourself:

Base URL: http://127.0.0.1:9300          # Use this for Anthropic, no /v1
Base URL: http://127.0.0.1:9300/v1       # Use this for OpenAI-compatible
API Key:  any non-empty string           # Not checked locally, a placeholder is fine
Model:    any non-empty model name       # Use default if unsure

The API key is only a placeholder

Auth is not checked locally, and the real secret is injected per provider. If a client demands a key, give it a placeholder.

Verify

After configuring, send a message from the client, then go to Request logs: if the request shows up, you are connected.


Once requests are coming in, you may want to tweak them along the way — see Request rewriting.