Config Fields Reference

June 10, 2026 ยท View on GitHub

Complete field inventory for runtime configuration and display settings.


Canonical Settings File

Primary settings file:

  • ~/.codex/multi-auth/settings.json

Top-level shape:

{
  "version": 1,
  "dashboardDisplaySettings": { "...": "..." },
  "pluginConfig": { "...": "..." }
}

Plugin-Host Provider Options (provider.openai.options)

Used only for host plugin mode through the host runtime config file.

KeyTypeCommon valuesEffect
reasoningEffortstringnone|minimal|low|medium|high|xhighReasoning effort hint
reasoningSummarystringauto|concise|detailedSummary detail hint
textVerbositystringlow|medium|highText verbosity target
promptCacheRetentionstring5m|1h|24h|7dDefault server-side prompt cache retention when the request body omits prompt_cache_retention
includestring[]reasoning.encrypted_contentExtra payload include
storebooleanfalseRequired for stateless backend mode

pluginConfig Fields

pluginConfig is the persisted compatibility name for runtime settings. These fields are used by the wrapper/account manager, runtime rotation proxy, and optional plugin-host path depending on feature area.

Core UX

KeyDefault
codexModetrue
codexRuntimeRotationProxytrue
codexTuiV2true
codexTuiColorProfiletruecolor
codexTuiGlyphModeascii

codexRuntimeRotationProxy enables the wrapper/app local Responses proxy path. It is enabled by default and can be overridden per process with CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY.

Fast Session

KeyDefault
fastSessionfalse
fastSessionStrategyhybrid
fastSessionMaxInputItems30

Retry / Fallback / Rotation

KeyDefault
schedulingStrategyhybrid
retryAllAccountsRateLimitedtrue
retryAllAccountsMaxWaitMs0
retryAllAccountsMaxRetriesInfinity
unsupportedCodexPolicystrict
fallbackOnUnsupportedCodexModelfalse
fallbackToGpt52OnUnsupportedGpt53true
unsupportedCodexFallbackChain{}

schedulingStrategy selects how the runtime proxy picks an account per request. hybrid (default) keeps the weighted health/token/freshness selection that spreads load across all available accounts. sequential (drain-first) sticks to one active account and only advances to the next available account once the current one is fully exhausted (rate-limited / cooling down / circuit-open); earlier accounts become eligible again as soon as their quota window recovers, staggering recovery across the pool. A manual pin still overrides this, and sequential mode intentionally ignores per-session affinity so all new requests follow the single active account. Overridable per-process via CODEX_AUTH_SCHEDULING_STRATEGY.

Token / Recovery

KeyDefault
tokenRefreshSkewMs60000
sessionRecoverytrue
autoResumetrue
responseContinuationfalse
backgroundResponsesfalse
proactiveRefreshGuardiantrue
proactiveRefreshIntervalMs60000
proactiveRefreshBufferMs300000

backgroundResponses is an opt-in compatibility switch for Responses API background: true requests. When enabled, those requests become stateful (store=true) instead of following the default stateless Codex routing.

Upgrade note:

  • Leave this disabled for existing stateless pipelines that do not intentionally send background: true.
  • Enable it only for callers that need stateful background responses and can accept forced store=true, preserved input item IDs, and the loss of stateless-only defaults such as fast-session trimming.
  • After enabling it, test one known background: true request end to end before rolling it across shared automation.

Storage / Sync

KeyDefault
perProjectAccountstrue
storageBackupEnabledtrue
liveAccountSynctrue
liveAccountSyncDebounceMs250
liveAccountSyncPollMs2000

Session Affinity

KeyDefault
sessionAffinitytrue
sessionAffinityTtlMs1200000
sessionAffinityMaxEntries512

Reliability / Timeout / Probe

KeyDefault
parallelProbingfalse
parallelProbingMaxConcurrency2
emptyResponseMaxRetries2
emptyResponseRetryDelayMs1000
pidOffsetEnabledfalse
fetchTimeoutMs60000
streamStallTimeoutMs45000
networkErrorCooldownMs6000
serverErrorCooldownMs4000

Quota Deferral

KeyDefault
preemptiveQuotaEnabledtrue
preemptiveQuotaRemainingPercent5h5
preemptiveQuotaRemainingPercent7d5
preemptiveQuotaMaxDeferralMs7200000

Notifications

KeyDefault
rateLimitToastDebounceMs60000
toastDurationMs5000

dashboardDisplaySettings Fields

General Display

KeyDefault
showPerAccountRowstrue
showQuotaDetailstrue
showForecastReasonstrue
showRecommendationstrue
showLiveProbeNotestrue

Result Screen Behavior

KeyDefault
actionAutoReturnMs2000
actionPauseOnKeytrue

Dashboard Fetch and Sort

KeyDefault
menuAutoFetchLimitstrue
menuQuotaTtlMs300000
menuSortEnabledtrue
menuSortModeready-first
menuSortPinCurrentfalse
menuSortQuickSwitchVisibleRowtrue

Account Row Content

KeyDefault
menuShowStatusBadgetrue
menuShowCurrentBadgetrue
menuShowLastUsedtrue
menuShowQuotaSummarytrue
menuShowQuotaCooldowntrue
menuShowFetchStatustrue
menuShowDetailsForUnselectedRowsfalse
menuStatuslineFieldslast-used, limits, status

Visual Style

KeyDefault
uiThemePresetgreen
uiAccentColorgreen
menuLayoutModecompact-details
menuFocusStylerow-invert
menuHighlightCurrentRowtrue

Environment Overrides

VariablePurpose
CODEX_MULTI_AUTH_DIRCustom root for settings/accounts/cache/logs
CODEX_MULTI_AUTH_CONFIG_PATHAlternate config file input
CODEX_MODEToggle Codex mode
CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXYToggle localhost Responses proxy for forwarded Codex sessions (1/true to enable, 0/false to disable)
CODEX_MULTI_AUTH_APP_ROTATION_IDLE_MSOverride idle timeout for the wrapper-launched Codex app runtime helper
CODEX_MULTI_AUTH_APP_ROTATION_OWNER_PIDInternal owner PID used by the wrapper-launched app helper
CODEX_MULTI_AUTH_REAL_CODEX_HOMEInternal original Codex home pointer used by runtime rotation helpers
CODEX_MULTI_AUTH_APP_BIND_INSTALLOpt out/in of packaged Codex app bind self-heal on first CLI run or rotation enable
CODEX_MULTI_AUTH_APP_BINDLegacy/manual app-bind override consumed by the first-run setup hook (lib/runtime/first-run.ts)
CODEX_MULTI_AUTH_APP_BIND_CODEX_HOMEOverride Codex home used by packaged app bind helpers
CODEX_MULTI_AUTH_APP_LAUNCHER_INSTALLOpt out/in of user-level app launcher routing on first CLI run or rotation enable
CODEX_MULTI_AUTH_APP_LAUNCHER_WINDOWS_DESKTOP_DIROverride Windows desktop shortcut search root for launcher routing
CODEX_MULTI_AUTH_APP_LAUNCHER_MACOS_DIROverride macOS managed wrapper app install directory
CODEX_TUI_V2Toggle TUI v2
CODEX_TUI_COLOR_PROFILETUI color profile
CODEX_TUI_GLYPHSTUI glyph mode
CODEX_AUTH_FETCH_TIMEOUT_MSRequest timeout override
CODEX_AUTH_STREAM_STALL_TIMEOUT_MSStream stall timeout override
CODEX_AUTH_SCHEDULING_STRATEGYAccount scheduling strategy override (hybrid or sequential/drain-first)
CODEX_MULTI_AUTH_SYNC_CODEX_CLIToggle Codex CLI state sync
CODEX_MULTI_AUTH_REAL_CODEX_BINForce official Codex binary path
CODEX_MULTI_AUTH_BYPASSBypass local auth handling
CODEX_MULTI_AUTH_FORCE_FILE_AUTH_STOREOpt out of wrapper-injected official Codex file-backed auth store when set to 0
CODEX_MULTI_AUTH_AUTO_SYNC_ON_STARTUPOpt out of best-effort active-account sync around forwarded Codex launches when set to 0
CODEX_MULTI_AUTH_CAPTURE_FORWARD_OUTPUTForce or disable capture of forwarded Codex output for unsupported-model fallback handling
CODEX_MULTI_AUTH_WINDOWS_BATCH_SHIM_GUARDInstall Windows shim guards when enabled
CODEX_MULTI_AUTH_PWSH_PROFILE_GUARDInstall PowerShell profile guard when enabled
CODEX_MULTI_AUTH_OVERWRITE_CUSTOM_BATCH_SHIMAllow Windows shim guard to overwrite custom shims when set to 1

Runtime Rotation Architecture Fields

Runtime rotation is split between persisted config, wrapper-only process env, and app-bind helper env.

LayerPrimary controls
Persisted settingspluginConfig.codexRuntimeRotationProxy
Per-process overrideCODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY
Wrapper app helperCODEX_MULTI_AUTH_APP_ROTATION_IDLE_MS, internal owner/original-home env
Packaged app bindCODEX_MULTI_AUTH_APP_BIND_INSTALL, CODEX_MULTI_AUTH_APP_BIND_CODEX_HOME
User launcher routingCODEX_MULTI_AUTH_APP_LAUNCHER_INSTALL, launcher directory overrides

The proxy provider id is codex-multi-auth-runtime-proxy. It is generated through lib/runtime-constants.ts and the TOML rewrite helpers in lib/runtime/config-toml.ts.


Concurrency and Windows Notes

  • Storage writes use temp-file + rename semantics; Windows may surface transient EPERM/EBUSY during rename.
  • Cross-process refresh coordination relies on lease/state files; avoid manually editing those files while the CLI is running.
  • Live account sync combines fs.watch with polling fallback to handle Windows watcher edge cases.
  • Backup/WAL artifacts may exist briefly during writes and recovery; they are part of normal safety behavior.
  • Runtime rotation shadow-home sync uses a lock directory and state metadata to avoid overwriting newer official Codex state after concurrent helper sessions.
  • If shadow-home lock owner metadata cannot be written, the wrapper removes the orphaned lock before surfacing the failure so later sync-back attempts are not skipped silently.