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.
Context
SDK v0.2.2 added
ModelCapabilitiesOverridetoModelApi.SwitchToAsync(). Currently we passnull(PR #641).Opportunity
When switching to a vision-capable model (e.g., GPT-4o, Claude with vision), we could pass
ModelCapabilitiesOverridewith:Limits.Vision.SupportedMediaTypes— MIME types the model acceptsLimits.Vision.MaxPromptImages— image count limitLimits.Vision.MaxPromptImageSize— size limit per imageLimits.MaxContextWindowTokens— context window for the specific modelThis would enable the CLI to enforce proper image limits and token budgets per model rather than using server defaults.
Current State
Priority
Low — only relevant if custom model limits are needed. Server defaults work fine for now.