Settings Reference

June 4, 2026 ยท View on GitHub

Reference for dashboard display settings and runtime pluginConfig values available from codex-multi-auth login -> Settings.

pluginConfig is the persisted compatibility name for runtime settings. It covers wrapper/runtime rotation behavior and optional plugin-host behavior.


Settings Location

Default file:

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

Top-level objects:

  • dashboardDisplaySettings
  • pluginConfig

When CODEX_MULTI_AUTH_DIR is set, this root moves accordingly.


Account List View

Controls account-row display and sort behavior.

  • menuShowStatusBadge
  • menuShowCurrentBadge
  • menuShowLastUsed
  • menuShowQuotaSummary
  • menuShowQuotaCooldown
  • menuShowFetchStatus
  • menuShowDetailsForUnselectedRows
  • menuHighlightCurrentRow
  • menuSortEnabled
  • menuSortMode
  • menuSortPinCurrent
  • menuSortQuickSwitchVisibleRow
  • menuLayoutMode
KeyDefaultEffect
menuShowStatusBadgetrueShow ready/cooldown/disabled status badges on account rows
menuShowCurrentBadgetrueMark the current account row
menuShowLastUsedtrueInclude last-used text in row details
menuShowQuotaSummarytrueShow compact quota usage summaries
menuShowQuotaCooldowntrueShow quota reset/cooldown details
menuShowFetchStatustrueShow quota fetch/probe status text
menuShowDetailsForUnselectedRowsfalseExpand details for unselected rows
menuHighlightCurrentRowtrueEmphasize the current account row
menuSortEnabledtrueEnable menu sorting
menuSortModeready-firstSort rows by readiness/risk heuristic
menuSortPinCurrentfalseKeep the current account pinned while sorting
menuSortQuickSwitchVisibleRowtrueKeep quick-switch numbering aligned to visible sorted rows
menuLayoutModecompact-detailsChoose compact or expanded row layout

Summary Line

Controls the fields shown in the per-account summary line.

  • menuStatuslineFields
  • last-used
  • limits
  • status
KeyDefaultEffect
menuStatuslineFieldslast-used, limits, statusControls which summary fields appear and in what order

Controls result-screen return behavior and menu quota refresh behavior.

KeyDefaultEffect
actionAutoReturnMs2000Delay before returning from action/result screens
actionPauseOnKeytruePause on keypress before auto-return completes
menuAutoFetchLimitstrueRefresh quota snapshots automatically in the menu
menuQuotaTtlMs300000Reuse cached quota data before refetching

Color Theme

Controls display style.

KeyDefaultEffect
uiThemePresetgreenOverall theme preset
uiAccentColorgreenAccent color for TUI elements
menuFocusStylerow-invertFocus/highlight style in selection menus

Experimental

Experimental settings currently cover:

  • one-way sync preview/apply into oc-chatgpt-multi-auth
  • named local pool backup export with filename prompt
  • refresh guard controls (proactiveRefreshGuardian, proactiveRefreshIntervalMs)

Experimental shortcuts:

  • 1 sync preview
  • 2 named backup export
  • 3 toggle refresh guard
  • [ or - decrease refresh interval
  • ] or + increase refresh interval
  • S save and return
  • Q back
  • sync review also supports A apply

Sync behavior:

  • preview is always shown before apply
  • blocked target states do not apply changes
  • destination active selection is preserved
  • destination-only accounts are preserved by the merge preview/apply path

Named backup behavior:

  • prompts for a filename
  • appends .json when omitted
  • rejects separators, traversal (..), .rotate., .tmp, and .wal suffixes
  • fails safely on collisions instead of overwriting by default

Backend Controls

Session & Sync

KeyDefaultEffect
liveAccountSynctrueWatch account storage for external changes
liveAccountSyncDebounceMs250Debounce live-sync reloads
liveAccountSyncPollMs2000Poll interval for live-sync fallback
sessionAffinitytrueKeep sessions sticky to a recent account
sessionAffinityTtlMs1200000Session affinity retention window
sessionAffinityMaxEntries512Maximum affinity cache entries
perProjectAccountstrueScope account pools per project when CLI sync is off

Rotation & Quota

KeyDefaultEffect
codexRuntimeRotationProxytrueEnable the default-on localhost Responses proxy for forwarded official Codex CLI/app sessions
schedulingStrategyhybridAccount scheduling: hybrid spreads load across all available accounts; sequential (drain-first) keeps one active account until it is fully exhausted, then advances to the next
preemptiveQuotaEnabledtrueDefer requests before remaining quota is critically low
preemptiveQuotaRemainingPercent5h55-hour quota threshold
preemptiveQuotaRemainingPercent7d57-day quota threshold
preemptiveQuotaMaxDeferralMs7200000Maximum quota-based deferral window
retryAllAccountsRateLimitedtrueRetry across the whole pool when all accounts are rate-limited
retryAllAccountsMaxWaitMs0Maximum wait budget for all-accounts-rate-limited retries
retryAllAccountsMaxRetriesInfinityMaximum retry attempts for all-accounts-rate-limited loops

Refresh & Recovery

KeyDefaultEffect
tokenRefreshSkewMs60000Refresh tokens before expiry
proactiveRefreshGuardiantrueRun background proactive refresh checks
proactiveRefreshIntervalMs60000Refresh guardian polling interval
proactiveRefreshBufferMs300000Refresh-before-expiry buffer
storageBackupEnabledtrueWrite rotating account-storage backups
sessionRecoverytrueRestore recoverable conversation state
autoResumetrueAutomatically resume recoverable sessions

Performance & Timeouts

KeyDefaultEffect
parallelProbingfalseProbe multiple accounts concurrently
parallelProbingMaxConcurrency2Concurrency cap for parallel probing
fastSessionfalseEnable fast-session request trimming
fastSessionStrategyhybridChoose fast-session trimming strategy
fastSessionMaxInputItems30Cap history items in fast-session mode
emptyResponseMaxRetries2Retries for empty/invalid responses
emptyResponseRetryDelayMs1000Delay between empty-response retries
fetchTimeoutMs60000Request timeout
streamStallTimeoutMs45000Stream stall timeout
networkErrorCooldownMs6000Cooldown after network failures
serverErrorCooldownMs4000Cooldown after server failures

Stable Environment Overrides

Common operator overrides:

  • CODEX_MULTI_AUTH_DIR
  • CODEX_MULTI_AUTH_CONFIG_PATH
  • CODEX_MODE
  • CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY
  • CODEX_MULTI_AUTH_APP_ROTATION_IDLE_MS
  • CODEX_MULTI_AUTH_APP_BIND_INSTALL
  • CODEX_MULTI_AUTH_APP_LAUNCHER_INSTALL
  • CODEX_TUI_V2
  • CODEX_TUI_COLOR_PROFILE
  • CODEX_TUI_GLYPHS
  • CODEX_AUTH_FETCH_TIMEOUT_MS
  • CODEX_AUTH_STREAM_STALL_TIMEOUT_MS

Installed wrappers may perform a best-effort daily npm version check during normal forwarded Codex startup. If a newer package is detected, the wrapper only prints npm install -g codex-multi-auth@latest; it does not mutate the installed package.

Advanced and Internal Overrides

Maintainer/debug-focused overrides include:

  • CODEX_MULTI_AUTH_SYNC_CODEX_CLI
  • CODEX_MULTI_AUTH_REAL_CODEX_BIN
  • CODEX_MULTI_AUTH_BYPASS
  • CODEX_AUTH_SCHEDULING_STRATEGY (hybrid | sequential; opt-in drain-first scheduling without editing settings)
  • CODEX_CLI_ACCOUNTS_PATH
  • CODEX_CLI_AUTH_PATH
  • refresh lease controls (CODEX_AUTH_REFRESH_LEASE*)

Full inventory: ../development/CONFIG_FIELDS.md


For most environments:

  • smart sort enabled
  • auto-fetch limits enabled
  • live sync enabled
  • session affinity enabled
  • preemptive quota deferral enabled
  • proactive refresh guardian enabled

Validation

After changes:

codex-multi-auth status
codex-multi-auth check
codex-multi-auth forecast --live