Skip to content

Claude harness no model experience#320856

Merged
pwang347 merged 8 commits into
mainfrom
pawang/claudeHooksAuto2
Jun 11, 2026
Merged

Claude harness no model experience#320856
pwang347 merged 8 commits into
mainfrom
pawang/claudeHooksAuto2

Conversation

@pwang347

@pwang347 pwang347 commented Jun 10, 2026

Copy link
Copy Markdown
Member

Copilot AI review requested due to automatic review settings June 10, 2026 22:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a “no models available” experience for chat sessions that require an explicit model selection (i.e. cannot fall back to Auto), with optional inline upgrade messaging for Copilot Free/EDU users. It wires this requirement through both the workbench chat model picker and the Sessions (Agents window) model picker, and adds unit tests for the new behavior.

Changes:

  • Add a requiresModelSelection capability to model picker delegates/options and thread it into picker item building and button labeling.
  • When requiresModelSelection is true and the model list is empty, show a disabled “No models available” entry (and an upgrade affordance for Free/EDU).
  • Keep the Sessions model picker visible/enabled for “requires selection but no models” sessions instead of hiding it.
Show a summary per file
File Description
src/vs/workbench/contrib/chat/test/browser/widget/input/chatModelPicker.test.ts Adds tests covering the new requiresModelSelection empty-models state and upgrade prompt presence/absence.
src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.ts Extends the picker delegate interface with optional requiresModelSelection().
src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.ts Implements the “No models available” state in buildModelPickerItems and updates the picker button label logic.
src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.ts Implements requiresModelSelection() in the workbench chat picker delegate based on session type requirements.
src/vs/sessions/services/sessions/common/sessionsProvider.ts Adds requiresModelSelection to ISessionModelPickerOptions so providers can opt into the required-selection behavior.
src/vs/sessions/contrib/providers/agentHost/browser/baseAgentHostSessionsProvider.ts Sets requiresModelSelection for Claude agent-host sessions (but currently uses a provider ID check that likely won’t match real Claude provider IDs).
src/vs/sessions/contrib/chat/browser/modelPicker.ts Keeps the Sessions model picker visible/enabled when a provider requires selection even if it currently offers zero models.

Copilot's findings

  • Files reviewed: 7/7 changed files
  • Comments generated: 3

Comment thread src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.ts Outdated
@pwang347 pwang347 marked this pull request as ready for review June 11, 2026 06:46
@vs-code-engineering

Copy link
Copy Markdown
Contributor

📬 CODENOTIFY

The following users are being notified based on files changed in this PR:

@lszomoru

Matched files:

  • src/vs/sessions/services/sessions/common/sessionsProvider.ts

@pwang347 pwang347 enabled auto-merge (squash) June 11, 2026 17:05
@pwang347 pwang347 merged commit aad88ec into main Jun 11, 2026
25 checks passed
@pwang347 pwang347 deleted the pawang/claudeHooksAuto2 branch June 11, 2026 17:17
@vs-code-engineering vs-code-engineering Bot added this to the 1.125.0 milestone Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants