Repository navigation
side calls: a model per agent, and an effort on Claude Code and Codex - #187
Merged
Aaron Li (aaron-jx-li) merged 1 commit intoNov 10, 2026
Merged
Conversation
`paid_model` names one model for every agent. Left empty, Codex runs the plugin's calls on the person's default model and effort; set to a Codex model, it breaks Claude Code's calls. `<agent>_paid_model` (one per agent with side calls, like `pi_cli`) wins over `paid_model` for that agent. `claude_paid_effort` reaches `claude --effort`, only when this Claude Code lists the option, and `codex_paid_effort` reaches `codex exec -c model_reasoning_effort`. Each takes its own CLI's words. With the new keys empty every argv is unchanged. test_side_calls_take_a_model_per_agent_and_an_effort and test_every_agent_with_side_calls_has_its_own_paid_model_setting fail on main.
Contributor
Author
|
@microsoft-github-policy-service agree |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
paid_modelnames one model for every agent. Left empty, Codex runs the plugin's calls (the loop guard's judge and redirect, the micro-skills proposer) on the person's default model and effort. Set to a Codex model, it breaks Claude Code's calls, and the other way round. Someone who works with both agents cannot pick a small model for each.What changed
<agent>_paid_model, one per agent with side calls (claude,codex,copilot,pi,opencode,cursor,grok,hermes), wins overpaid_modelfor that agent. The names followpi_cliandhermes_cli._host_callreads the agent's key first, so every host's call gets it without further changes.TE_<AGENT>_PAID_MODELsets it for one session.claude_paid_effortreachesclaude --effort, but only when this Claude Code's--helplists the option, asclaude_flagsalready does for--no-session-persistence.codex_paid_effortreachescodex exec -c model_reasoning_effort="…". Each accepts its own CLI's words: Claude Code 2.1.319low…max, Codex 0.167.0none…max. Whether a model takes a value is still the CLI's call. The other agents' calls take only--modeltoday, so they get no effort key.plugin/README.mdand theconfig.pydocstring list the new keys.This touches
sidecall.pyandconfig.py, as #185 (local_model) and #163 (--safe-modeinclaude_call) do. The overlap is a few lines, and either can go first.Tests
tests/test_live_core.py:test_side_calls_take_a_model_per_agent_and_an_effort: the per-agent model wins overpaid_model. Each effort reaches its CLI in that CLI's form. A Claude Code whose help lacks--effortgets no--effort, and a value from the other CLI's vocabulary is refused. With nothing set, the Codex argv is upstream's.test_every_agent_with_side_calls_has_its_own_paid_model_setting: every host inhosts.HOSTSexceptNO_SIDE_CALLShas its key, so a new agent cannot be added without one.Both fail on
main.python -m pytest testsgives 852 passed and 16 skipped on Python 3.10 and 3.13 (macOS), andexperiments/testsgives 394 passed. Tried on macOS only:claude -p --model haiku --effort highandcodex exec -m <model> -c model_reasoning_effort="high"each answered.