Skip to content

Meta: small UX patches to make codex exec cleaner for downstream harnesses (cdx exo) #22065

@team-wcv

Description

@team-wcv

Context

A downstream Codex wrapper called cdx exo (https://github.com/team-wcv/CliTools, exo-tui.mjs and friends) embeds a custom Ink/React TUI that drives codex exec and codex app-server over JSON-RPC for cluster-aware local model serving. Building it surfaced a handful of small "papercut" issues in the upstream codex harness — things the TUI currently works around with stderr regexes or ad-hoc client-side filtering, but which would be cleaner to fix at the source so other harnesses benefit.

This meta-issue tracks the seven patches we extracted from the cdx exo workarounds and filed individually. Each is small, scoped, and most ship with a reference branch on a fork. None depend on each other; they can be triaged independently.

Patches

# Title Issue Reference branch Status
1 Add codex exec --quiet to drop the header chrome #22047 team-wcv/codex@feat/exec-quiet-flag Closed not_planned; maintainer suggested --json instead. We replied with the wrapper-vs-parser context; happy to drop or revisit.
2 Gate benign rate-limit telemetry behind notifications.rate_limit_telemetry #22054 team-wcv/codex@feat/rate-limit-telemetry-gate Open, awaiting triage.
3 Demote failed to record rollout items from error! to warn! #22055 team-wcv/codex@feat/rollout-persistence-log-demote Open, awaiting triage.
4 Collapse MCP startup notifications into a single mcpServer/startupStatus/completed summary #22059 team-wcv/codex@feat/mcp-startup-notifications-collapse Open, awaiting triage.
5 Local-provider reasoning-summary heuristic + per-model model_overrides #22061 team-wcv/codex@feat/local-provider-reasoning-summaries Open, awaiting triage.
6 model_providers.<name>.discovery_url for cluster-aware base-URL refresh #22063 team-wcv/codex@feat/provider-discovery-url Open, awaiting triage.
7 codex exec resume <missing-uuid> falls back to thread/start instead of erroring #22064 team-wcv/codex@feat/thread-resume-fallback Open, awaiting triage.

Why each one matters (one line each)

Bigger picture

The cdx exo TUI's existence is mostly about cluster-aware local model serving and inline UX shortcuts that aren't a fit for upstream codex (e.g. live cluster topology, model-catalog overlay, in-process status badges). What I'd like out of this batch is just to remove the surface-level noise and config papercuts that force harnesses to filter stderr or hand-edit configs.

Happy to:

  • split anything that's too coarse-grained.
  • drop patches you don't want.
  • iterate on any of the reference branches based on feedback.
  • coordinate landing if multiple patches touch shared protocol/config surface.

I noticed docs/contributing.md says external contributions are by invitation; that's why each patch is in an issue with a reference branch rather than a PR. If any of these are wanted, very happy to open the corresponding PR(s).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestexecIssues related to the `codex exec` subcommand

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions