From f9010634fff50bd168979ddfb07d416044dca425 Mon Sep 17 00:00:00 2001 From: xintaofei Date: Wed, 15 Apr 2026 16:54:04 +0800 Subject: [PATCH] fix(acp): stop stripping auto config option for Claude Code Claude Code SDK now supports the "auto" permission mode, so the filtering that hid it from the selector and silently dropped attempts to set it is no longer needed. --- src-tauri/src/acp/connection.rs | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/src-tauri/src/acp/connection.rs b/src-tauri/src/acp/connection.rs index cf83bf8..72c9d92 100644 --- a/src-tauri/src/acp/connection.rs +++ b/src-tauri/src/acp/connection.rs @@ -607,24 +607,6 @@ fn ensure_codex_mode_option(options: &mut Vec) { }); } -/// Claude Code does not support the "auto" value for config options. -/// Strip any option whose value is "auto" from the flat and grouped lists, -/// and update `current_value` to the first remaining option when it was "auto". -fn strip_auto_config_values(options: &mut Vec) { - for opt in options.iter_mut() { - let SessionConfigKindInfo::Select(ref mut select) = opt.kind; - select.options.retain(|o| o.value != "auto"); - for group in &mut select.groups { - group.options.retain(|o| o.value != "auto"); - } - if select.current_value == "auto" { - if let Some(first) = select.options.first() { - select.current_value = first.value.clone(); - } - } - } -} - fn emit_session_config_options_values( connection_id: &str, emitter: &EventEmitter, @@ -635,9 +617,6 @@ fn emit_session_config_options_values( if agent_type == AgentType::Codex { ensure_codex_mode_option(&mut mapped); } - if agent_type == AgentType::ClaudeCode { - strip_auto_config_values(&mut mapped); - } crate::web::event_bridge::emit_event( emitter, "acp://event", @@ -1330,9 +1309,6 @@ async fn set_session_config_option( config_id: String, value_id: String, ) -> Result<(), sacp::Error> { - if agent_type == AgentType::ClaudeCode && value_id == "auto" { - return Ok(()); - } let req = SetSessionConfigOptionRequest::new(session_id.clone(), config_id, value_id); let untyped_req = UntypedMessage::new("session/set_config_option", req).map_err(|e| { sacp::util::internal_error(format!("Failed to build config option request: {e}"))