openai / openai/codex-plugin-cc
Feature: forward extra args (custom model_provider / profile) to every codex launch
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 33.3k
- Forks
- 2.3k
- PR merge metrics
- No merged PRs in 30d
Description
Problem
Today the plugin only forwards --model and --effort to Codex, and the app-server is always spawned as a bare codex app-server (see plugins/codex/scripts/lib/app-server.mjs). There is no way to pass Codex global overrides such as:
-c model_provider=<id>to select a custom provider--profile <name>- other
-c key=valueconfig overrides
The only workaround is editing ~/.codex/config.toml / .codex/config.toml, which is awkward when you want a plugin-specific provider (e.g. routing the plugin through a LiteLLM/proxy provider) without changing your global Codex defaults.
Proposed solution
Add a CODEX_PLUGIN_CC_ARGS environment variable. When set, its value is tokenized (shell-style) and prepended to every codex invocation the plugin makes — the app-server runtime spawn and the availability checks. For example:
export CODEX_PLUGIN_CC_ARGS='-c model_provider=litellm'
results in the plugin running codex -c model_provider=litellm app-server.
This keeps the change opt-in, requires no per-command flags, and reuses Codex's own config-override surface.
Notes
- Read at runtime start; a session that already has a shared runtime needs a fresh session for new values to take effect.
- I have an implementation ready and will open a PR referencing this issue.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with plugins/codex/scripts/lib/app-server.mjs and trace the plugin's availability checks and other Codex launch entry points. Verify how runtime environment values are read and tokenized, then confirm that the resulting arguments precede each invocation and that fresh sessions pick up changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100