[Workaround]: Enable named Codex custom-agent selection under MultiAgent V2 #6760
lastobelus
started this conversation in
Ideas
Replies: 1 comment
|
I’m leaving this open for now so other T3 Code users affected by the upstream Codex MultiAgent V2 regression can find the explanation and workaround. Once named custom-agent selection works by default in the Codex runtime used by T3 Code, this can be closed. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Important
This is an upstream Codex MultiAgent V2 regression, not a missing T3 Code integration. In affected GPT-5.6 Sol/Terra threads, Codex exposes a reduced
spawn_agentschema that hidesagent_type,model, andreasoning_effort, so T3 Code cannot select named custom-agent TOML profiles through the default schema. The regression is tracked in openai/codex#31814.As covered in Theo's “I can't believe they released this” video, the current workaround is to add this to
~/.codex/config.toml, fully restart T3 Code, and start a fresh thread:OpenAI has since merged openai/codex#32749, which restores V2 per-spawn
modelandreasoning_effortoverrides by default in a forthcoming Codex build. It does not restore namedagent_typeselection, so the workaround above remains relevant for custom-agent profiles.Original Issue for Posterity
Before submitting
Area
apps/server
Problem or use case
T3 Code supports and displays native Codex subagents, but a Codex parent thread cannot deterministically select a named custom agent from
~/.codex/agents/or.codex/agents/.In T3 Code Nightly
0.0.29-nightly.20260709.769, the collaboration tool exposed to the parent has this shape:It has no named-agent,
agent_type,model, or reasoning-effort selector. A parent can write "use theterra_highcustom agent" in the delegated prompt, but that is only prompt guidance. It does not establish that Codex loaded the named TOML configuration or applied its model and reasoning settings.For example, given:
there is no deterministic way for a T3 Code Codex thread to request that specific profile when spawning a child.
Proposed solution
Preserve and expose Codex app-server's native named custom-agent selector when that capability is available.
The parent-facing delegation contract should accept the custom agent's
name, using the upstream Codex field or mechanism rather than introducing a separate T3 Code agent format. Conceptually:If named selection is unsupported, the agent is missing or invalid, or the requested fork mode cannot apply the profile, return an explicit error. Do not silently replace an explicitly requested named agent with a generic child.
Where Codex exposes it, include the effective custom-agent name, model, and reasoning effort in child-thread metadata so the parent and user can verify that the requested configuration was applied.
Why this matters
Named custom agents are useful for assigning fast models to exploration, stronger reasoning to review, read-only permissions to research, and specialized instructions to repeatable roles.
Without deterministic selection, users cannot rely on those profiles from T3 Code. They can request a profile in prose, but cannot distinguish "the configured custom agent ran" from "a generic child received a similar prompt." This prevents predictable cost, latency, capability, and permission choices in multi-agent workflows.
Smallest useful scope
For Codex only:
namewhen spawning a direct child.~/.codex/agents/and project agents in.codex/agents/through Codex's existing discovery behavior.A first version does not need a profile-management UI, cross-provider agent format, nested delegation, or per-spawn editing of the profile's model and reasoning settings.
Alternatives considered
.codex/agents/*.tomlauthority and could drift from upstream behavior.Risks or tradeoffs
Examples or references
PR #2829 covers native child-thread tracking, subagent lifecycle events, replay, context transfer, and UI projection. This request concerns the earlier selection boundary: choosing the named Codex custom agent before Codex spawns the child.
Contribution
All reactions