Problem
When managing multiple ChatGPT accounts where some should share configuration (e.g. two personal accounts), codex-profiles forces full isolation between all profiles. There’s no way to have two profiles share config.toml, AGENTS.md, rules, plugins, and session history while keeping separate auth.json files. The only workaround is manually running clone-config after every change, which is a one-time copy of a limited set of files.
Proposed solution
Add a --share-with <profile> flag to codex-profile init that creates a new profile where most of CODEX_HOME is symlinked back to an existing profile’s directory, with only auth.json (and optionally sessions/ and logs/) kept separate.
Example:
codex-profile init personal-2 --share-with personal-1
This would create ~/.codex-personal-2/ with its own auth.json but symlink config.toml, AGENTS.md, AGENTS.override.md, rules/, and other config files back to ~/.codex-personal-1/. A config option or flag could control whether sessions/ and logs/ are also shared or kept separate.
Alternatives considered
- Manually symlinking files between profile directories (works but fragile and not managed by the tool)
- Using
clone-config after every change (one-time copy of only 4 files, not live, doesn’t cover rules or plugins)
- Auth-file swapping (the approach
codex-profiles explicitly replaces; leaves all other state shared with no control over what’s isolated)
Scope
Problem
When managing multiple ChatGPT accounts where some should share configuration (e.g. two personal accounts),
codex-profilesforces full isolation between all profiles. There’s no way to have two profiles share config.toml, AGENTS.md, rules, plugins, and session history while keeping separate auth.jsonfiles. The only workaround is manually running clone-configafter every change, which is a one-time copy of a limited set of files.Proposed solution
Add a
--share-with <profile>flag to codex-profile initthat creates a new profile where most of CODEX_HOMEis symlinked back to an existing profile’s directory, with only auth.json(and optionally sessions/and logs/) kept separate.Example:
This would create
~/.codex-personal-2/with its own auth.jsonbut symlink config.toml, AGENTS.md, AGENTS.override.md, rules/, and other config files back to ~/.codex-personal-1/. A config option or flag could control whether sessions/and logs/are also shared or kept separate.Alternatives considered
clone-configafter every change (one-time copy of only 4 files, not live, doesn’t cover rules or plugins)codex-profilesexplicitly replaces; leaves all other state shared with no control over what’s isolated)Scope