Improve subagent provider visibility

Open 💬 2 comments Opened Apr 10, 2026 by bakaburg1

What feature would you like to see?

The Codex app currently makes provider selection and subagent provider behavior hard to control and hard to understand in the UI.

I would like three related improvements:

  1. Add an easy provider picker in the Codex app UI for chat threads.
  • This should make it possible to switch a thread from one provider to another without editing TOML.
  • If switching providers invalidates or reduces the usefulness of cached thread content, that is acceptable, but the UI should warn the user clearly before the switch.
  1. Add a global way to choose a different provider for spawned agents.
  • This should be supported in config.toml.
  • Even better, it should also be exposed in the Codex app settings UI.
  • This is useful because it often makes sense to keep the main thread on one provider while sending subagents to a cheaper provider or a local model.
  1. Fix the Codex app UI so subagents show the correct effective provider/model.
  • Right now the subagent UI can show the provider/model of the calling agent even when the subagent is actually running on a different provider.
  • This makes provider debugging much harder and creates false confidence about what is being used.

Why this matters

Provider/model routing is now a real workflow concern:

  • main agent on one provider
  • subagents on a cheaper provider
  • local models for some tasks
  • remote frontier models only where needed

The app should support this explicitly instead of requiring low-level config work and log inspection.

Concrete example

I configured subagents to use Azure with gpt-5.4-mini while keeping the main agent on OpenAI.

The authoritative child session metadata recorded:

  • model_provider = "azure"
  • model = "gpt-5.4-mini"

But the spawned subagents self-reported and appeared in the UI as OpenAI / GPT-5.

That indicates the effective runtime configuration and the displayed provider/model are diverging.

Suggested behavior

  • Thread-level provider picker in the app UI.
  • Global default provider/model for subagents in config, plus an app settings surface for the same.
  • Subagent UI should display the effective resolved provider/model of the spawned session, not inherit the parent thread display.
  • If provider switching affects cache reuse or thread continuity, show an explicit warning before applying the change.

Additional information

This is partly a feature request and partly a correctness/UI bug:

  • feature request: easier provider selection in app/settings
  • correctness bug: subagent provider/model display does not match actual spawned-session metadata

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗