model_instructions_file config ignored when running via codex exec --profile since v0.114.0
What version of Codex CLI is running?
0.114.0
What subscription do you have?
API
Which model were you using?
gpt-5.3-codex
What platform is your computer?
Linux 6.8.0-85-generic x86_64 unknown
What terminal emulator and version are you using (if applicable)?
N/A — running headless via codex exec
What issue are you seeing?
Since upgrading from rust-v0.113.0 to rust-v0.114.0, the model_instructions_file
configuration option is silently ignored when the agent is invoked via codex exec --profile default.
The agent responds as if no custom system prompt was provided — it produces generic,
default-behavior responses and does not follow any of the instructions defined in the
instructions file.
When the same profile is used interactively (without exec), the instructions file
is loaded and respected correctly.
What steps can reproduce the bug?
- Create a profile config with
model_instructions_filepointing to a valid
instructions file.
- Run the agent interactively using the profile:
codex --profile default
→ Verify the agent loads and follows the instructions file. ✅
- Run the agent via exec using the same profile:
codex exec --profile default "your task here"
→ Observe the agent ignores the instructions file entirely. ❌
- Downgrade to v0.113.0 and repeat step 3:
→ Agent correctly loads and follows the instructions file. ✅
Regression is isolated to v0.114.0 in the exec code path only.
What is the expected behavior?
The agent invoked via codex exec --profile <name> should load and apply the
system prompt from the file specified in model_instructions_file, exactly as
it does in interactive mode and as it did in v0.113.0.
Additional information
- Last working version: rust-v0.113.0
- First broken version: rust-v0.114.0
- The issue is 100% reproducible.
- Running inside a CI/automation pipeline (headless, no TTY).
Suspected PRs from the v0.114.0 changelog that touch the exec path
and tool output handling:
- #14169 — Move exec command truncation into ExecCommandToolOutput
- #14157 — Enforce single tool output type in codex handlers
- #14152 — Refactor tool output into trait implementations
- #14183 — Expose strongly-typed result for exec_command
- #13418 — Add code_mode experimental feature (new isolation layer)
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗