Skip to content

modelReasoningEfforts: [] makes routed models unusable as subagents (catalog supported_reasoning_levels empty) #883

Closed as not planned

Description

@fyuuwang

What happens

When a routed model (e.g. cursor/composer-2.5) has modelReasoningEfforts: [] (explicit empty array) in config, ocx sync writes supported_reasoning_levels: [] into the Codex catalog. The Codex app then rejects the model for spawn_agent calls because [agents].default_subagent_reasoning_effort = "max" has no valid level to match against the empty list. The request never reaches the proxy, so the model works in the main thread but is unusable as a subagent.

Root cause (located)

src/reasoning-effort.ts, configuredReasoningEfforts:

const modelEfforts = modelRecordValue(provider.modelReasoningEfforts, modelId);
if (modelEfforts !== undefined) return ... [];  // [] is explicit "no reasoning" → catalog []

An explicit [] and an omitted key behave differently. [] produces an empty supported_reasoning_levels in the catalog; an omitted key lets the default ladder fill in. A model that genuinely takes no reasoning effort becomes invisible to the subagent roster.

Expected

Either the [] → empty-list semantics should be documented/preserved consistently, or ocx sync should detect models in the subagent roster whose catalog supported_reasoning_levels is empty and either warn or backfill a placeholder level, so spawn_agent with the global default effort is not silently blocked.

Local workaround (verified)

Remove the composer-2.5: [] entry from modelReasoningEfforts. After ocx sync, the catalog fills in the default ladder and subagent routing works (the cursor adapter already drops the effort suffix for composer at the wire, so the upstream is unaffected).

Activity

  1. github-actions commented on Aug 2, 2026

    @github-actions
    Contributor

    Automated translation bookkeeping — detected language: unknown.

  2. github-actions commented on Aug 2, 2026

    @github-actions
    Contributor

    Issue closed: use an issue template

    Thanks for taking the time to submit this issue. It was closed automatically because it was not opened with a recognized issue template (Bug report, Feature request, Documentation, or Provider compatibility). Freeform and API-opened issues cannot skip this check.

    • This issue does not use a recognized issue template.

    Please edit the issue to add:

    • Open a new issue with the Bug report, Feature request, Documentation, or Provider compatibility template.
    • Or edit this issue so the body uses the template section headings for the kind of report you are filing.

    See the Contributing guide for details.

    Once the report passes the automated checks, it will be reopened automatically unless a maintainer has changed its state.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    catalogModel catalog, slugs, visibility, routed entries

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions