Allow configuring subagent model and reasoning_effort in config
What variant of Codex are you using?
CLI, APP
What feature would you like to see?
The ability to configure which model and reasoning_effort level subagents use, separately from the main agent. This could live in ~/.codex/config.toml and/or be exposed as an option under the /agents → config slash command.
Why this matters
Right now, there's no way to control what model or reasoning level subagents run with. With the introduction of Spark (which has a 128k context window), this becomes a real limitation. Spark is excellent for fast, scoped implementation tasks, but it doesn't make sense as the planning or orchestration layer given the smaller context.
Subagent support is still missing in Codex, and this issue is exactly the gap:
Skills/config define what to do, but not who does it (model, tools, permissions, prompt, memory).
Claude Code’s per-agent YAML gives a portable, version-controlled way to define that who.
And the YAML allows you to define n number of subagents, all with different models/reasoning level for different tasks. TRUE customization. Right now, we have just 1 subagent and we're stuck with that.
Proposed ideal (aligned with this issue):
- A first-class agent registry in Codex (project + user scope).
- Agent definition files compatible with Claude Code’s format (or a small, documented superset).
- Ability to invoke agents directly or pair with skills (e.g., a skill that routes to a named agent).
- Model/tools/permissions/memory/prompt all captured per agent, and checked in at the project level.
The ideal workflow looks something like this:
Planning and orchestration with a higher-capability model (e.g. base 5.3) that can hold the full project context and break work into well-defined tasks
Implementation via subagents using Spark or another lightweight model that executes those tasks quickly and cheaply
Without per-agent model configuration, users are stuck choosing a single model for the entire run. That means either sacrificing planning quality by using Spark everywhere, or sacrificing speed and cost efficiency by using a larger model for implementation subtasks that don't need it.
Proposed config example
toml[agent]
model = "claude-5.3"
reasoning_effort = "high"
[subagent]
model = "claude-spark"
reasoning_effort = "low"
Additional information
This would pair well with existing slash commands. For example, /agents config could allow toggling subagent settings mid-session for experimentation without editing the config file directly.
Thank you for reading! PLEASE UPVOTE if you agree.
Additional information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗