Skip to content

Hide incompatible thinking efforts and selector when selected (Claude) model doesn't support them #2323

@Basit-Balogun10

Description

@Basit-Balogun10

Description

When switching from one thinking effort to another that isn't supported by the currently selected Claude model, the app throws an error.

There are two related problems here:

  1. Incompatible efforts are shown — The thinking effort selector displays options that aren't valid for the selected model, making it possible to land on an unsupported state. Only compatible efforts should be shown.

  2. Selector visible when it shouldn't be — For models like Haiku 4.5 and Sonnet 4.5 that don't support any thinking effort options, the switcher should be hidden entirely. We already handle this correctly when creating a new task (as seen towards the end of the demo below) — that same logic should apply when switching efforts on an existing task.

Steps to Reproduce

Mid-task:

  1. Select a model that supports thinking efforts
  2. Attempt to change the thinking effort
  3. Observe the result for the following cases:
  • Switching to any effort for Haiku 4.5 and Sonnet 4.5 throws an error (and falls back to the last successful effort). The selector is also visible for Haiku 4.5 and Sonnet 4.5 when it should be hidden
  • Switching to Extra High for Sonnet 4.6 and Opus 4.5 throws an error (and falls back to the last successful effort)
  • Switching to any effort for Opus 4.6 and Opus 4.7 works fine

Expected Behavior

  • Only efforts compatible with the selected model are shown in the selector/switcher
  • The selector is hidden entirely for models that support no thinking effort options (matching the existing behavior in new task creation)

Actual Behavior

Switching to an incompatible effort throws an error and selector/switcher is visible for models that support no thinking effort

Demo

posthog-code-switching-to-incompatible-thinking-efforts-for-any-model-throws-an-error.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions