This document describes the current config surfaces used by oc-codex-multi-auth on main.
The installer writes and updates:
~/.config/opencode/opencode.json
That file is the primary global config surface used by the shipped install flow in this repository.
Project-specific overrides can live in:
<project>/.opencode.json
Use that when you want per-project model or provider overrides without changing the global install.
OpenCode can also accept override content at process start:
OPENCODE_CONFIG=/path/to/config.json opencode
OPENCODE_CONFIG_CONTENT='{"model":"openai/gpt-5.5","variant":"medium"}' opencodePlugin-specific runtime settings live outside the OpenCode config file:
~/.opencode/openai-codex-auth-config.json
That file controls plugin behavior such as retry policy, rotation strategy, beginner safe mode, fallback policy, TUI output, model account pools, and per-project account storage. Schema and defaults live in lib/schemas.ts and lib/config.ts. Boolean environment overrides are truthy only for the literal string "1".
scripts/install-oc-codex-multi-auth.js performs these steps:
- Load the selected template set:
- default /
--modern:config/opencode-modern.json(compact 12 bases / 53 variants) --full: modern bases merged withconfig/opencode-legacy.jsonexplicit entries--legacy:config/opencode-legacy.jsononly (53 explicit IDs)
- default /
- Back up an existing
~/.config/opencode/opencode.json. - Normalize the plugin list so it ends with plain
oc-codex-multi-auth. - Replace
provider.openaiwith the selected shipped template block. - Enable the TUI plugin in
~/.config/opencode/tui.json. - Clear the cached OpenCode plugin copy under
~/.cache/opencode/unless--no-cache-clear.
Additional flags:
| Flag | Effect |
|---|---|
--dry-run |
Print planned actions without writing |
--no-cache-clear |
Skip OpenCode plugin cache cleanup |
| standalone first arg | Run CLI without install: doctor, status, list, limits, dashboard, health, diag, warm |
Important detail:
- The installer intentionally writes the plugin entry as
oc-codex-multi-auth, notoc-codex-multi-auth@latest. - The default install mode uses the compact modern base-model template so the TUI model picker shows real OAuth model families and leaves reasoning depth to the variant picker.
--fullmerges the modern base-model template with the explicit legacy preset entries for scripts that require direct selector IDs.
config/opencode-modern.json is the compact variant-based template for OpenCode v1.0.210+.
It currently ships:
- 12 base model families
- 53 total variants
- GPT-5.6 Sol / Terra / Luna (responses-lite path)
gpt-5.5andgpt-5.5-fastat 1,050,000 context / 128,000 output- GPT-5.6 tiers at 1,050,000 context / 128,000 output
gpt-5.4-mini,gpt-5.4-nano, and Codex families at 400,000 context / 128,000 outputgpt-5.1at 272,000 context / 128,000 outputstore: falseplusinclude: ["reasoning.encrypted_content"]
Base families:
gpt-5.6-sol
gpt-5.6-terra
gpt-5.6-luna
gpt-5.5
gpt-5.5-fast
gpt-5.4-mini
gpt-5.4-nano
gpt-5.1-codex-max
gpt-5.1-codex
gpt-5.1-codex-mini
gpt-5.1
gpt-5-codex
The default installer mode writes:
- the 12 modern base model entries from
config/opencode-modern.json
That compact install mode keeps the OpenCode TUI model picker focused on actual OAuth model families. Reasoning presets are selected through the separate variant picker.
Example shape:
{
"plugin": ["oc-codex-multi-auth"],
"provider": {
"openai": {
"options": {
"reasoningEffort": "medium",
"reasoningSummary": "auto",
"textVerbosity": "medium",
"include": ["reasoning.encrypted_content"],
"store": false
},
"models": {
"gpt-5.5": {
"name": "GPT 5.5 (OAuth)",
"variants": {
"medium": { "reasoningEffort": "medium" },
"high": { "reasoningEffort": "high" }
}
},
"gpt-5.6-sol": {
"name": "GPT 5.6 Sol (OAuth)",
"variants": {
"medium": { "reasoningEffort": "medium" },
"high": { "reasoningEffort": "high" }
}
}
}
}
}
}Default install uses base model IDs plus variants:
opencode run "task" --model=openai/gpt-5.5 --variant=medium
opencode run "task" --model=openai/gpt-5.5-fast --variant=medium
opencode run "task" --model=openai/gpt-5.6-sol --variant=high--full combines:
- the 12 modern base model entries from
config/opencode-modern.json - the 53 explicit preset entries from
config/opencode-legacy.json
Use it when scripts require direct selector IDs:
npx -y oc-codex-multi-auth@latest --full
opencode run "task" --model=openai/gpt-5.5-medium
opencode run "task" --model=openai/gpt-5.5-fast-medium
opencode run "task" --model=openai/gpt-5.6-sol-highconfig/opencode-legacy.json is for OpenCode v1.0.209 and earlier.
It currently ships:
- 53 explicit model entries
- separate model IDs such as
gpt-5.5-medium,gpt-5.5-fast-medium,gpt-5.5-high,gpt-5.6-sol-xhigh, andgpt-5.4-mini-xhigh - the same OpenAI provider defaults (
store: false,reasoning.encrypted_content)
Legacy OpenCode selection uses:
opencode run "task" --model=openai/gpt-5.5-highAt runtime, OpenCode passes provider.openai.options and provider.openai.models into the plugin loader. The plugin then:
- Reads global provider options.
- Reads per-model definitions.
- Applies request-shaping behavior (
nativeby default,legacywhen explicitly enabled). - Normalizes selected model IDs to canonical upstream Codex/ChatGPT model families before the final API call.
- For GPT-5.6 Sol/Terra/Luna, applies the responses-lite request shape and default
opencodeclient identity. - Resolves preferred accounts via
modelAccountPools, then selects an account withrotationStrategy.
Examples:
openai/gpt-5.5with variantmediumnormalizes togpt-5.5openai/gpt-5.6-solwith varianthighnormalizes togpt-5.6-solopenai/gpt-5.6-sol-xhighnormalizes togpt-5.6-solopenai/gpt-5.4-mini-xhighnormalizes togpt-5.4-mini- legacy aliases such as
gpt-5-mininormalize togpt-5.4-mini - bare
gpt-5.6normalizes to flagship tiergpt-5.6-sol
Use these commands when checking the effective config:
opencode debug config
ENABLE_PLUGIN_REQUEST_LOGGING=1 opencode run "ping" --model=openai/gpt-5.5 --variant=medium
ENABLE_PLUGIN_REQUEST_LOGGING=1 opencode run "ping" --model=openai/gpt-5.6-sol --variant=mediumImportant runtime behavior:
opencode debug configshows merged provider models from your config.- The default install shows compact OAuth base entries such as
gpt-5.5,gpt-5.5-fast, andgpt-5.6-sol. --fulladditionally shows explicit entries such asgpt-5.5-medium/gpt-5.5-fast-medium/gpt-5.6-sol-high.- Compact verification should use
--model=openai/gpt-5.5 --variant=medium, notgpt-5.5-medium, unless--fullor--legacywas installed.
| Path | Purpose |
|---|---|
~/.config/opencode/opencode.json |
global OpenCode config used by the installer |
~/.config/opencode/tui.json |
OpenCode TUI plugin config |
<project>/.opencode.json |
project-local OpenCode override |
~/.opencode/openai-codex-auth-config.json |
plugin runtime config |
~/.opencode/auth/openai.json |
OAuth token storage |
~/.opencode/oc-codex-multi-auth-accounts.json |
global account storage |
~/.opencode/projects/<project-key>/oc-codex-multi-auth-accounts.json |
per-project account storage |
~/.opencode/logs/codex-plugin/ |
plugin request/debug logs |