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
| Client | Protocol | Config files |
|---|---|---|
| Claude Code | Anthropic Messages | ~/.claude/settings.json, credential file |
| Codex | OpenAI Responses | ~/.codex/config.toml, auth.json |
| OpenCode | OpenAI 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 unsureThe 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.