Skip to content

Model-string normalization on capability reroute #4238

Description

@Trecek

Problem

A Codex-native default_model (e.g. gpt-5.6-sol) passes unchanged into claude --model gpt-5.6-sol when a step is rerouted via capability routing. Recipe-declared canonical aliases (sonnet/opus) are safe because they exist on both sides; non-Anthropic model strings are not.

Impact

  • Rerouted Claude workers receive invalid --model values
  • Behavior may be undefined or fail with model-not-found errors
  • Affects any fleet whose Codex-side default_model differs from Claude's

Proposed Solution

Either:

  • Add a translation table mapping non-Anthropic model strings to their Claude equivalents at the reroute boundary, or
  • Add a validation gate that rejects non-Claude-compatible model strings before rerouting, or
  • Pass default_model = "" to claude when the original value is non-Anthropic

Related to: capability routing immunity (issue #4235)

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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