Skip to content

recommended-models: reorder the default ladder (Opus 5.5 -> Fable 5.1 -> Kimi K3 -> Astra -> Sol -> GLM 5.3) and rank provider lanes #2074

Description

@code-yeongyu

Summary

The shipped recommended-model ladder (packages/coding-agent/src/core/extensions/builtin/recommended-models/index.ts) no longer matches the intended default order, and it picks a provider for a recommended model in registry order instead of ranking the provider lanes the way the category and profile chains do.

Current behavior

RECOMMENDED_DEFAULT_MODELS on main:

  1. kimi-k3 max
  2. gpt-6-astra high
  3. gpt-6-sol medium
  4. gpt-5.6-sol medium
  5. claude-fable-5-1 high
  6. claude-opus-5-5 max
  7. glm-5.2 max

findAvailableRecommendation returns the first registry entry whose canonical id matches, so when a machine holds both an Anthropic API key and the Claude subscription, whichever provider the registry lists first wins (the subscription lane is registered by an extension, i.e. usually later).

Expected (ideal state)

The ladder is, in order:

  1. claude-opus-5-5 medium
  2. claude-fable-5-1 xhigh
  3. kimi-k3 max
  4. gpt-6-astra xhigh
  5. gpt-6-sol medium
  6. glm-5.3 max

For each rung, candidate providers are ranked like the existing Claude/Kimi/GPT/GLM chains (subscription lanes first): Claude anthropic-subscription, anthropic, anthropic-api, github-copilot, opencode; Kimi kimi-coding, kimi-for-coding, moonshotai, opencode-go; GPT chatgpt-subscription, openai, github-copilot, opencode; GLM zai-coding-plan, opencode-go. A provider outside the ranking still serves the rung after the ranked ones, in registry order.

Gateway aggregators (opengateway, openrouter, vercel-ai-gateway) are never pulled in by the ladder: they list models under vendor-prefixed ids (anthropic/claude-opus-5-5), and the exact canonical-id match must keep rejecting them.

Acceptance criteria

  • RECOMMENDED_DEFAULT_MODELS equals the six rungs above with the listed thinking levels.
  • With both anthropic/claude-opus-5-5 and anthropic-subscription/claude-opus-5-5 available (registry order API first), the subscription model is selected at medium.
  • A registry that only has opengateway/anthropic/claude-opus-5-5 plus kimi-coding/kimi-k3 selects kimi-k3.
  • settings.recommendedModels overrides keep working.
  • CHANGELOG [Unreleased] and builtin changes.md record the new order.

Related

Activity

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions