Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
codex/codex-rs/app-server/src/lib.rs
Line 433 in 330e49a
When ConfigBuilder fails, app-server falls back via Config::load_default_with_cli_overrides(...), which drops loader_overrides.user_config_path. Later ConfigEditsBuilder::for_config(&config) resolves to $CODEX_HOME/config.toml, so sessions started with --profile-v2 can persist edits (e.g. skills/tool approvals) into the wrong file after an invalid selected config.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
# Conflicts: # codex-rs/app-server/src/config_manager_service.rs # codex-rs/tui/src/app/tests.rs
Why
--profile-v2lets runtime entry points run with a named user profile file while still inheriting the normal base user config. This supports launchers and workflows that need profile-specific defaults, MCP/plugin settings, or config write targets without duplicating the wholeconfig.tomlinto a separate file.The selected profile is intentionally a layer, not a replacement:
--profile-v2 workloads$CODEX_HOME/config.tomlfirst and then$CODEX_HOME/work.config.tomlon top.What Changed
--profile-v2 <name>CLI option and plain-name validation for$CODEX_HOME/<name>.config.toml.exec,review,resume,fork, anddebug prompt-inputruntime paths.Limits
--profile-v2is still rejected for config-management subcommands such as feature, MCP, or marketplace edits. Those commands stay tied to the baseconfig.tomlfor now.A few background or adjacent write paths are still not fully profile-aware and may continue to update base
config.tomlor global state:Verification
resolve_profile_v2_config_path, user-layer merging, selected profile writes, config service writes, session hot reload, plugin config merging, and MCP tool approval persistence.