What variant of Codex are you using?
App and VS Code Extension
What feature would you like to see?
Feature request
Allow users to select a custom agent configuration when creating a new top-level Codex conversation.
For example:
- New chat → Product Planner
- New chat → Software Architect
- New chat → Implementation Agent
- New chat → Marketing Agent
The selected agent should become the persistent root agent for that conversation—not a temporary subagent spawned by a generic main agent.
Current limitation
Codex custom agents can currently be configured as subagents, but users cannot select one of those configurations as the main agent of a new independent conversation.
This creates an important distinction:
- A subagent is a delegated worker with a separate context.
- Its output is returned or summarized to the parent agent.
- The user continues interacting primarily with the generic parent agent.
- It is therefore not equivalent to a persistent specialized-agent conversation.
Skills can provide specialized instructions, but they do not create a fully independent agent configuration with its own model, tools, permissions, integrations, and defaults.
CLI profiles can provide different configurations, but they are not conveniently selectable when starting conversations in the Codex Windows app or VS Code extension.
Requested behavior
When starting a new conversation, Codex should provide an agent selector containing the available personal and project-level custom agents.
Conceptually:
New conversation
Agent:
○ Default Codex
○ Product Planner
○ Software Architect
○ Implementation Agent
○ Marketing Agent
After selecting an agent:
- The custom agent becomes the root agent of the conversation.
- The conversation remains directly attached to that agent when resumed.
- Its complete conversation continuity is preserved over weeks or months.
- Its own instructions and behavioral boundaries are applied.
- Its configured model and reasoning effort are applied.
- Its tools, skills, integrations, sandbox, and permission defaults are applied.
- It may spawn subagents when its configuration allows this, but it is not itself a subagent.
This should ideally be supported in both:
- The Codex Windows app
- The Codex VS Code extension
Why this matters
Some specialized agents are not temporary workers. They represent persistent professional roles that may collaborate with the user throughout the lifetime of a project or company.
A generic setup might include:
- A planning agent that preserves long-term product decisions and priorities.
- Technical agents responsible for shorter, focused engineering tasks.
- A marketing agent that maintains ongoing context about positioning, audiences, brand voice, communication strategy, and campaigns.
These agents may require fundamentally different configurations.
For example, a technical implementation agent might need terminal and source-code access, while a marketing agent might need web research, document tools, and communication integrations. They should not automatically share the same permissions, tools, model settings, or instructions.
Each role also needs its own persistent conversation history. Forcing all roles to operate as temporary subagents of one generic main agent weakens their continuity and makes the main conversation an unnecessary intermediary.
Users should be able to create independent top-level conversations with different custom agents, just as they create separate conversations for different areas of work.
Why subagents do not solve this
Subagents are valuable for bounded delegated tasks, but they do not replace persistent root-agent conversations.
A long-running specialized role may need to:
- Maintain decisions and context across many sessions.
- Continue the same conversation for weeks or months.
- Interact directly with the user throughout that period.
- Own its conversation rather than report through a parent.
- Use a configuration that differs substantially from other roles.
Requiring a generic parent agent to repeatedly spawn or route messages to the same subagent introduces unnecessary indirection and creates a risk of continuity loss.
Why skills alone do not solve this
A role skill can provide instructions, but it does not appear to offer the same isolation and configuration as an independently selectable agent.
Different roles may need different:
- Models and reasoning levels
- Permission policies
- Filesystem access
- Network access
- MCP servers and integrations
- Tools and skills
- Developer instructions
- Subagent permissions
Activating a skill inside the same generic main agent is therefore not equivalent to choosing a distinct agent configuration for the conversation.
Possible configuration model
Existing custom-agent definitions could potentially be made selectable as root agents, or Codex could introduce a dedicated configuration type for top-level agents.
For example:
.codex/
└── agents/
├── product-planner.toml
├── software-architect.toml
├── implementation-agent.toml
└── marketing-agent.toml
When creating a conversation for that project, Codex would expose those configurations in the agent selector.
Personal agents could similarly be loaded from the user’s Codex configuration directory.
Suggested acceptance criteria
- Users can define multiple custom agent configurations.
- A custom agent can be selected when creating a new top-level conversation.
- The selected agent remains the root agent for the lifetime of that conversation.
- Conversations can be closed and resumed without reverting to the default agent.
- Each agent can define its own instructions, model, reasoning effort, tools, skills, integrations, and permission defaults.
- Project-level and personal custom agents are supported.
- The selected agent is visibly identified in the conversation interface.
- Root custom agents can optionally spawn subagents without becoming subagents themselves.
- The capability is available in the Codex Windows app and VS Code extension.
Summary
Codex currently supports specialization through skills, profiles, and subagents, but it lacks a direct way to create persistent top-level conversations using different custom-agent identities.
Adding a custom-agent selector for new conversations would make Codex much more suitable for long-running, multi-role professional workflows while preserving clear separation of context, permissions, tools, and responsibilities.
Additional information
No response
What variant of Codex are you using?
App and VS Code Extension
What feature would you like to see?
Feature request
Allow users to select a custom agent configuration when creating a new top-level Codex conversation.
For example:
The selected agent should become the persistent root agent for that conversation—not a temporary subagent spawned by a generic main agent.
Current limitation
Codex custom agents can currently be configured as subagents, but users cannot select one of those configurations as the main agent of a new independent conversation.
This creates an important distinction:
Skills can provide specialized instructions, but they do not create a fully independent agent configuration with its own model, tools, permissions, integrations, and defaults.
CLI profiles can provide different configurations, but they are not conveniently selectable when starting conversations in the Codex Windows app or VS Code extension.
Requested behavior
When starting a new conversation, Codex should provide an agent selector containing the available personal and project-level custom agents.
Conceptually:
After selecting an agent:
This should ideally be supported in both:
Why this matters
Some specialized agents are not temporary workers. They represent persistent professional roles that may collaborate with the user throughout the lifetime of a project or company.
A generic setup might include:
These agents may require fundamentally different configurations.
For example, a technical implementation agent might need terminal and source-code access, while a marketing agent might need web research, document tools, and communication integrations. They should not automatically share the same permissions, tools, model settings, or instructions.
Each role also needs its own persistent conversation history. Forcing all roles to operate as temporary subagents of one generic main agent weakens their continuity and makes the main conversation an unnecessary intermediary.
Users should be able to create independent top-level conversations with different custom agents, just as they create separate conversations for different areas of work.
Why subagents do not solve this
Subagents are valuable for bounded delegated tasks, but they do not replace persistent root-agent conversations.
A long-running specialized role may need to:
Requiring a generic parent agent to repeatedly spawn or route messages to the same subagent introduces unnecessary indirection and creates a risk of continuity loss.
Why skills alone do not solve this
A role skill can provide instructions, but it does not appear to offer the same isolation and configuration as an independently selectable agent.
Different roles may need different:
Activating a skill inside the same generic main agent is therefore not equivalent to choosing a distinct agent configuration for the conversation.
Possible configuration model
Existing custom-agent definitions could potentially be made selectable as root agents, or Codex could introduce a dedicated configuration type for top-level agents.
For example:
When creating a conversation for that project, Codex would expose those configurations in the agent selector.
Personal agents could similarly be loaded from the user’s Codex configuration directory.
Suggested acceptance criteria
Summary
Codex currently supports specialization through skills, profiles, and subagents, but it lacks a direct way to create persistent top-level conversations using different custom-agent identities.
Adding a custom-agent selector for new conversations would make Codex much more suitable for long-running, multi-role professional workflows while preserving clear separation of context, permissions, tools, and responsibilities.
Additional information
No response