Skip to content

acp: Fix stale ACP reasoning-effort options when model switch keeps same config IDs (#50246) (cherry-pick to stable)#50252

Merged
zed-zippy[bot] merged 1 commit intov0.225.xfrom
cherry-pick-v0.225.x-cbbcb1e1
Feb 26, 2026
Merged

acp: Fix stale ACP reasoning-effort options when model switch keeps same config IDs (#50246) (cherry-pick to stable)#50252
zed-zippy[bot] merged 1 commit intov0.225.xfrom
cherry-pick-v0.225.x-cbbcb1e1

Conversation

@zed-zippy
Copy link
Contributor

@zed-zippy zed-zippy bot commented Feb 26, 2026

Cherry-pick of #50246 to stable


Problem

Zed's ACP config-options UI was only rebuilding selectors when the set
of config option IDs changed.

For many model switches, the IDs stay the same (mode, model,
reasoning_effort) while the valid values for reasoning_effort change
by model. As a result, the picker could show stale values (for example,
missing xhigh on gpt-5.3-codex, or showing extra xhigh after
switching away).

This is especially problematic for providers like Copilot that expose
multiple agents/models with different reasoning-level capabilities.

Fix

Rebuild ACP config-option selectors on every config_option_update, not
only when config IDs change.

This refreshes cached picker entries whenever model-specific option
values change, even if option IDs are unchanged.

User Impact

  • Reasoning-effort picker now reflects the selected model immediately on
    Claude <-> GPT transitions.
  • Prevents stale or invalid effort choices in ACP sessions.

Validation

  • Manual validation: switch across models with different
    reasoning-effort sets and confirm picker updates immediately.
  • Local cargo check -p agent_ui remains blocked by unrelated
    pre-existing livekit-protocol compile errors in this checkout.

Files Changed

  • crates/agent_ui/src/acp/config_options.rs

Release Notes:

  • acp: Fix for config selectors not always being refreshed

Co-authored-by: Ben Brandt benjamin.j.brandt@gmail.com

…ame config IDs (#50246)

## Problem
Zed's ACP config-options UI was only rebuilding selectors when the set
of config option IDs changed.

For many model switches, the IDs stay the same (`mode`, `model`,
`reasoning_effort`) while the valid values for `reasoning_effort` change
by model. As a result, the picker could show stale values (for example,
missing `xhigh` on `gpt-5.3-codex`, or showing extra `xhigh` after
switching away).

This is especially problematic for providers like Copilot that expose
multiple agents/models with different reasoning-level capabilities.

## Fix
Rebuild ACP config-option selectors on every `config_option_update`, not
only when config IDs change.

This refreshes cached picker entries whenever model-specific option
values change, even if option IDs are unchanged.

## User Impact
- Reasoning-effort picker now reflects the selected model immediately on
Claude <-> GPT transitions.
- Prevents stale or invalid effort choices in ACP sessions.

## Validation
- Manual validation: switch across models with different
reasoning-effort sets and confirm picker updates immediately.
- Local `cargo check -p agent_ui` remains blocked by unrelated
pre-existing `livekit-protocol` compile errors in this checkout.

## Files Changed
- `crates/agent_ui/src/acp/config_options.rs`

Release Notes:

- acp: Fix for config selectors not always being refreshed

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
@zed-zippy zed-zippy bot requested a review from a team as a code owner February 26, 2026 22:04
@zed-zippy zed-zippy bot requested review from benbrandt and osyvokon and removed request for a team February 26, 2026 22:04
@cla-bot cla-bot bot added the cla-signed The user has signed the Contributor License Agreement label Feb 26, 2026
@zed-community-bot zed-community-bot bot added the bot Pull requests authored by a bot label Feb 26, 2026
@zed-zippy zed-zippy bot merged commit 0721212 into v0.225.x Feb 26, 2026
37 checks passed
@zed-zippy zed-zippy bot deleted the cherry-pick-v0.225.x-cbbcb1e1 branch February 26, 2026 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot Pull requests authored by a bot cla-signed The user has signed the Contributor License Agreement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant