spawn_agent cannot bind to custom [agents.*] profiles in Codex App config.toml
What version of the Codex App are you using (From “About Codex” dialog)?
26.707.61608
What subscription do you have?
ChatGPT pro 20x
What platform is your computer?
windows X64
What issue are you seeing?
I am using the Codex desktop app on Windows with a custom multi-agent skill. The skill depends on role-specific subagents configured in C:\Users\<user>\.codex\config.toml under [agents.*].
The config file is valid and contains the expected profiles. In my case, the writer skill has 103 profiles: 75 with model_reasoning_effort = "max" and 28 with model_reasoning_effort = "xhigh". A related topic-architect skill has 12 additional profiles, all using max.
However, the current Codex App spawn_agent runtime does not appear to bind spawned agents to these configured profiles.
Observed behavior:
- The exposed
spawn_agentinterface only supportstask_name,message, andfork_turns. - Passing the exact profile id as
task_name, for examplemedical-review-publication-english-global-reader, fails becausetask_nameonly accepts lowercase letters, digits, and underscores. The exact error was: agent_name must use only lowercase letters, digits, and underscores. - Passing a normalized underscore name, for example
medical_review_publication_english_global_reader, starts a subagent, but the subagent reports that it is only a task label. I could not observe any evidence that the configured role prompt, reasoning effort, or tool allowlist was applied. The spawned agent reported these settings as NOT_VISIBLE and identified the supplied name as TASK_LABEL_ONLY. - Passing an
agent_typefield did not appear to be honored either. - This was reproduced when using both GPT-5.5 and GPT-5.6 model selections in the Codex App.
Expected behavior:
There should be a supported way for spawn_agent to select a configured [agents.*] profile from config.toml, so that the spawned subagent receives the configured role prompt, model, reasoning effort, and tool permissions.
Actual behavior:
Subagents are spawned as generic agents. The configured profile is not applied, which makes large multi-agent skills impossible to run as designed.
Minimal reproduction:
- Add a profile like this to
config.toml:
[agents.medical-review-publication-english-global-reader]
model = "gpt-5.6-sol"
model_reasoning_effort = "max"
- Try to spawn the agent using the exact profile id:
{
"task_name": "medical-review-publication-english-global-reader",
"message": "profile binding probe",
"fork_turns": "none"
}
This fails because hyphens are not accepted in task_name.
- Try the normalized underscore version:
{
"task_name": "medical_review_publication_english_global_reader",
"message": "profile binding probe",
"fork_turns": "none"
}
This starts a subagent, but the configured profile is not applied.
- Try passing
agent_type:
{
"task_name": "profile_probe",
"agent_type": "medical-review-publication-english-global-reader",
"message": "profile binding probe",
"fork_turns": "none"
}
The field does not appear to be honored.
Request:
Please clarify whether Codex App currently supports binding spawn_agent to [agents.*] profiles in config.toml. If it does not, please add an explicit supported selector, such as agent_type or profile_id, that applies the configured prompt, model, reasoning effort, and tool allowlist to the spawned subagent.
What steps can reproduce the bug?
Feedback ID: 019f4a8f-ef90-7963-ac18-f3a67e650525
What is the expected behavior?
_No response_
Additional information
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗