Skip to content

fix(codex): config via -c flags, drop baked config.toml + fix dead web_search key#250

Merged
elronbandel merged 1 commit into
mainfrom
elron/vibrant-johnson-46d701
Jun 29, 2026
Merged

fix(codex): config via -c flags, drop baked config.toml + fix dead web_search key#250
elronbandel merged 1 commit into
mainfrom
elron/vibrant-johnson-46d701

Conversation

@elronbandel

Copy link
Copy Markdown
Contributor

What

The codex agent wrote a ~/.codex/config.toml at container start. This drops that file and drives every setting as -c overrides on the codex exec line instead — one place for the agent's behaviour.

It also fixes a latent bug: the config set web_search under [tools], but codex 0.120 silently ignores that key — web search was only on because of codex's default. It's now set via the top-level web_search key codex actually honors, to "live" (fetch current pages, rather than the stale "cached" index). view_image stays under [tools] (a real key there).

Why it's safe

Verified against real codex 0.120.0 by capturing the request it sends:

  • -c model_provider=... + nested -c model_providers.* resolve the provider/model correctly (no config.toml present — codex only auto-creates its own trust file).
  • -c web_search="live" registers the web_search tool; -c tools.view_image=true registers view_image.
  • Confirmed the old [tools].web_search boolean is dead: setting it false still left the tool registered, while top-level web_search="disabled" actually removed it.

Caveat

This proves codex offers the search tool with the right config; it does not prove live search executes end-to-end through the eval-containers proxy (codex web search is a server-side tool on OpenAI's Responses API). That needs a live run to confirm — out of scope here.

…d web_search key

The codex agent baked a ~/.codex/config.toml at runtime that set web_search
under [tools]. In codex 0.120 that key is silently ignored (verified: setting
it false still leaves the tool registered), so search rode only on the default.

Move all configuration onto the codex exec line as -c overrides and drop the
config file entirely. web_search is now set via the top-level key codex
actually honors, to "live" (fetch current pages, vs the stale "cached"
index). view_image stays a real [tools] key.

Signed-off-by: Elron Bandel <elron.bandel@ibm.com>
@elronbandel elronbandel force-pushed the elron/vibrant-johnson-46d701 branch from a0a7df8 to 60e225a Compare June 29, 2026 17:49
@elronbandel elronbandel merged commit 82eb046 into main Jun 29, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant