Skip to content

Resume Claude conversations when the model is offered under an alias #1239

Open

Description

@taras

Story

As someone continuing a Claude conversation in XMD, I want it to reopen with its current model even when the picker offers that model under a different name. For example, a conversation running claude-opus-5-5 should continue when the provider lists it as opus (“Opus 5.5”).

Current gap

The reconnect check introduced by #1214 requires the backend's reported model string to appear verbatim in the adapter's selectable catalog. In #1200, the backend reported claude-opus-5-5, the adapter offered opus, and the reconnect refused before sending the correction prompt. The original and replacement sessions both ran Opus 5.5. #1143 saw a similar pre-prompt refusal and the same saved model/catalog mismatch, but that attempt retained only the generic resume error.

Required behavior

  • Use the existing provider-supplied catalog for the picker, fresh model selection, and explicit model changes. Do not introduce a second catalog.
  • On an unchanged reconnect, verify the original native conversation and keep and report its backend-observed model. The concrete model does not need its own selectable catalog row. Do not write model settings just to reconcile two spellings.
  • When comparing a requested selection with the running model, use provider evidence that an alias resolves to that same model and context variant. A display name, substring, or model family alone is insufficient. Preserve effort, context, and existing permission and identity checks.
  • Apply and verify a genuinely requested model change before prompting. If identity or a required selection cannot be verified, refuse with the specific reason without sending the prompt or starting a replacement conversation.

Acceptance

Exercise a fresh selection of opus, a cold reconnect whose backend reports claude-opus-5-5 while only the alias is offered, and a subsequent prompt in the same native conversation with no redundant model write. Also cover an unverified or mismatched selection and an explicit verified model change. Keep existing reconnect and fallback guarantees. No workflow-wide recovery change or historical journal migration.

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

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions