Codex CLI always starts with gpt-5.4 model even though different model is specified in config.toml
Open 💬 1 comment Opened Jul 13, 2026 by steven-ppcd
What version of Codex CLI is running?
codex-cli 0.144.1
What subscription do you have?
Enterprise
Which model were you using?
_No response_
What platform is your computer?
Darwin 24.6.0 arm64 arm
What terminal emulator and version are you using (if applicable)?
_No response_
Codex doctor report
Codex Doctor v0.144.1 · macos-aarch64
Environment
✓ system en-JP
os Mac OS 15.7.4 [64-bit]
OS language en-JP
LANG en_US.UTF-8
VISUAL not set
EDITOR not set
✓ runtime standalone (unix, package /Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin, bin /Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin/bin, resources /Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin/codex-resources, path /Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin/codex-path)
version 0.144.1
install method standalone (unix, package /Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin, bin /Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin/bin, resources /Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin/codex-resources, path /Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin/codex-path)
commit unknown
executable ~/.local/bin/codex
✓ install consistent
context standalone (unix, package /Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin, bin /Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin/bin, resources /Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin/codex-resources, path /Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin/codex-path)
managed by npm: no · bun: no · pnpm: no · package root —
PATH entries (1) ~/.local/bin/codex
✓ search file exists (bundled, `/Users/cm119318/.codex/packages/standalone/releases/0.144.1-aarch64-apple-darwin/codex-path/rg`)
search command ~/.codex/packages/standa…le-darwin/codex-path/rg
search provider bundled
search command readiness file exists
✓ git git version 2.52.0
selected git /opt/homebrew/bin/git
version git version 2.52.0
exec path /opt/homebrew/opt/git/libexec/git-core
repo detected false
PATH entries (2) /opt/homebrew/bin/git
/usr/bin/git
✓ terminal Ghostty 1.3.1
terminal Ghostty
TERM_PROGRAM ghostty
terminal version 1.3.1
stdin is terminal true
stdout is terminal false
stderr is terminal true
terminal size 239x54
color output disabled (stdout is not a terminal)
COLORTERM truecolor
TERMINFO /Applications/Ghostty.ap…ents/Resources/terminfo (dir)
effective locale en_US.UTF-8
✓ title default · project debug1
title source default
title items activity, project-name
activity item true
project source cwd
project value debug1
✓ state databases healthy
CODEX_HOME ~/.codex (dir)
log dir ~/.codex/log (missing)
sqlite home ~/.codex (dir)
state DB ~/.codex/state_5.sqlite (file) · integrity ok
log DB ~/.codex/logs_2.sqlite (file) · integrity ok
goals DB ~/.codex/goals_1.sqlite (file) · integrity ok
memories DB ~/.codex/memories_1.sqlite (file) · integrity ok
active rollouts 0 files · 0 B (avg 0 B)
archived rollouts 0 files · 0 B (avg 0 B)
standalone release cache 1 entries in /Users/cm119318/.codex/packages/standalone/releases
✓ threads rollout files and state DB thread inventory agree
default model provider openai
rollout DB active files 0
rollout DB archived files 0
rollout DB scan errors 0
rollout DB malformed file names 0
rollout DB scan cap reached false
rollout DB rows 0
rollout DB active rows 0
rollout DB archived rows 0
rollout DB missing active rows 0
rollout DB missing archived rows 0
rollout DB stale rows 0
rollout DB archive mismatches 0
rollout DB duplicate rollout thread ids 0
rollout DB duplicate DB paths 0
rollout DB model providers none
rollout DB sources none
Configuration
✓ config loaded
model gpt-5.4 · openai
cwd ~/stuff/debug1
config.toml ~/.codex/config.toml
config.toml parse ok
MCP servers 0
feature flags 34 enabled · 1 overridden (full list with --all)
overrides fast_mode
✓ auth auth is configured
auth storage mode Keyring
auth file ~/.codex/auth.json
stored auth mode chatgpt
stored API key false
stored ChatGPT tokens true
stored agent identity false
✓ mcp no MCP servers configured
✓ sandbox restricted fs + restricted network · approval OnRequest
approval policy OnRequest
filesystem sandbox restricted
network sandbox restricted
linux helper none
execve wrapper helper ~/.codex/tmp/arg0/codex-…SR/codex-execve-wrapper
Updates
✓ updates update configuration is locally consistent
startup update check true
update action standalone installer
version cache ~/.codex/version.json
cached latest version 0.144.1
last checked at 2026-07-13 03:26 UTC
latest version 0.144.1
latest version status current version is not older
Connectivity
✓ network no proxy env vars
proxy env vars none
✓ websocket connected (HTTP 101 Switching Protocols) · 15s timeout
model provider openai
provider name OpenAI
wire API responses
supports websockets true
proxy env vars none
connect timeout 15000 ms
auth mode chatgpt
endpoint wss://chatgpt.com/backend-api/<redacted>
DNS 2 IPv4, 0 IPv6, first IPv4
handshake result HTTP 101 Switching Protocols
reasoning header false
models etag present true
server model present false
✓ reachability active provider endpoints are reachable over HTTP
reachability mode ChatGPT auth
ChatGPT base URL https://chatgpt.com/backend-api/ reachable (HTTP 404)
Background Server
○ app-server not running (ephemeral mode)
daemon state dir ~/.codex/app-server-daemon
settings ~/.codex/app-server-daemon/settings.json (missing)
pid file ~/.codex/app-server-daemon/app-server.pid (missing)
update-loop pid file ~/.codex/app-server-daem…/app-server-updater.pid (missing)
control socket ~/.codex/app-server-cont…app-server-control.sock
status not running
mode ephemeral
─────────────────────────────────────────────────────────────
17 ok · 1 idle · 0 warn · 0 fail ok
--summary compact output --all expand truncated lists
--json redacted report
What issue are you seeing?
Even though I have set model = "gpt-5.6-sol" in ~/.codex/config.toml, new Codex CLI sessions always default to model gpt-5.4.
I can switch to gpt-5.6-sol using /model, but this should be the default in the first place.
/model command output:
Select Model and Effort
Access legacy models by running codex -m <model_name> or in your config.toml
1. gpt-5.6-sol (default) Latest frontier agentic coding model.
2. gpt-5.6-terra Balanced agentic coding model for everyday work.
3. gpt-5.6-luna Fast and affordable agentic coding model.
4. gpt-5.5 Frontier model for complex coding, research, and real-world work.
› 5. gpt-5.4 (current) Strong model for everyday coding.
6. gpt-5.4-mini Small, fast, and cost-efficient model for simpler coding tasks.
What steps can reproduce the bug?
- Set
model = "gpt-5.6-sol"in~/.codex/config.toml - Launch Codex CLI with
codex - The initial model is
gpt-5.4instead ofgpt-5.6-sol:
╭──────────────────────────────────────────────╮
│ >_ OpenAI Codex (v0.144.1) │
│ │
│ model: gpt-5.4 medium /model to change │
│ directory: ~/stuff/debug1 │
╰──────────────────────────────────────────────╯
What is the expected behavior?
The initial model should be gpt-5.6-sol.
Additional information
I deleted ~/.codex and reinstalled Codex CLI using the macOS install script, but the problem still occurs.
This is my config.toml:
model = "gpt-5.6-sol"
model_reasoning_effort = "medium"
[projects."/Users/cm119318/stuff/debug1"]
trust_level = "trusted"
[tui.model_availability_nux]
"gpt-5.6-sol" = 4
codex doctor shows
Configuration
✓ config loaded
model gpt-5.4 · openai
cwd ~/stuff/debug1
config.toml ~/.codex/config.toml
config.toml parse ok
MCP servers 0
feature flags 34 enabled · 1 overridden (full list with --all)
overrides fast_mode
I'm using Codex CLI on a work laptop on the company VPN. I'm on ChatGPT Enterprise plan.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗