Skip to content

feat: Adopt ModelCapabilitiesOverride for vision-capable model switching #643

@PureWeen

Description

@PureWeen

Context

SDK v0.2.2 added ModelCapabilitiesOverride to ModelApi.SwitchToAsync(). Currently we pass null (PR #641).

Opportunity

When switching to a vision-capable model (e.g., GPT-4o, Claude with vision), we could pass ModelCapabilitiesOverride with:

  • Limits.Vision.SupportedMediaTypes — MIME types the model accepts
  • Limits.Vision.MaxPromptImages — image count limit
  • Limits.Vision.MaxPromptImageSize — size limit per image
  • Limits.MaxContextWindowTokens — context window for the specific model

This would enable the CLI to enforce proper image limits and token budgets per model rather than using server defaults.

Current State

// CopilotService.cs:3316
await state.Session.Rpc.Model.SwitchToAsync(normalizedModel, reasoningEffort, null, cancellationToken);

Priority

Low — only relevant if custom model limits are needed. Server defaults work fine for now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions