Hey, thanks for the report. From your screenshot it’s not quite what it looks like. Your main planning model is actually Codex 5.3, it’s set in the input area under Plan mode. “Composer 2” shows up on the bullet tasks below because those are parallel read-only exploration subagents that Plan mode spawns to scout context. The plan and the final answer are generated by Codex 5.3. Composer 2 is only used for parallel context gathering.
Good news, you can change the model used for those subagents in settings. A few options:
Settings > Subagents > Explore subagent model
This is the direct toggle. Change the default from Composer 2 to anything else like Opus 4.7 1M Max, GPT 5.5, and so on. This should cover your main case, parallel exploration in Plan mode will use the model you pick.
Max mode
In the input area next to the model selector there’s a Max mode toggle. It gives a larger context window and more tokens for reasoning for the main model. It costs more, but Codex and Opus will think deeper.
Custom subagent via a file
If you want specialized subagents for specific tasks, create .cursor/agents/explorer.md:
---
name: explorer
description: Read-only codebase exploration for planning context.
model: gpt-5.5
---
# Explorer
Explore the codebase to gather context for planning tasks.
Read files, search, map dependencies. Do not modify anything.
Return findings concisely.
Then call it explicitly in chat: Use the explorer subagent to map the OpenAI cost tracking pipeline. In model: use the exact slug like gpt-5.5, claude-4.7-opus, codex-5.3, not the display name.
Project or user rule if you don’t want subagents at all .cursor/rules/no-subagents.md:
Don't run subagents. Do all work in the main agent context.
This is a soft instruction, not a hard block, but the model usually follows it. Useful if you want everything linear through the main model.
If you see that the plan itself, not the bullet exploration, but the final Plan mode output, was generated by something other than Codex 5.3, that’s a different case. Please share the Request ID right upper corner of the chat > Copy Request ID and we’ll take a look.