Per-project config
What feature would you like to see?
Currently, all config goes in ~/.codex/config.toml. This is problematic for a few reasons:
- It is not possible to set project-specific config that is automatically picked up; you must set a (globally accessible) profile and then start codex with that profile, or else type out a long command using
--configwith the same arguments each time. - It is not possible to share project-specific config with collaborators via VCS (possibly useful for sharing model providers and config).
- Project-specific config such as
[projects."/path/to/project"] trust_level = truehave to live at a global level, which makes using VCS to sync one's globalconfig.tomlacross machines problematic.
It would be better if, like with Claude Code, you could have a per-project .codex folder and within that, config.toml and config.local.toml, the former of which lives in VCS and the latter of which is in .gitignore and used just for oneself (this is where you can configure personal preferences like verbosity, reasoning level, etc). This way you could launch codex within a directory and be all set up with your preferences without having to specify a profile every time, and without having to write your profile in your global config. Also, truly project-specific settings such as trust_level would live there instead of globally. (For security, trust_level should probably only valid within config.local.toml so that a sneaky collaborator can't trick you intro trusting a folder by pushing a commit.)
Are you interested in implementing this feature?
Sure
Additional information
_No response_
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗