From b22d129fa878659d535c241a69f43dff76d02196 Mon Sep 17 00:00:00 2001 From: Ben Brandt Date: Wed, 21 Jan 2026 11:27:24 +0100 Subject: [PATCH] acp: Filter out built-in agents from the registry (#47279) Release Notes: - N/A --- crates/agent_ui/src/agent_registry_ui.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/crates/agent_ui/src/agent_registry_ui.rs b/crates/agent_ui/src/agent_registry_ui.rs index 3873f4e0c98a22e68fde181b04e8265c5a3a7379..40f95d2f5114a0adcdf155d1aa6794261a9f65a7 100644 --- a/crates/agent_ui/src/agent_registry_ui.rs +++ b/crates/agent_ui/src/agent_registry_ui.rs @@ -21,6 +21,10 @@ use workspace::{ item::{Item, ItemEvent}, }; +/// Registry IDs for built-in agents that Zed already provides first-class support for. +/// These are filtered out of the ACP Agent Registry UI to avoid showing duplicates. +const BUILT_IN_REGISTRY_IDS: [&str; 3] = ["claude-acp", "codex-acp", "gemini"]; + #[derive(Clone, Copy, Debug, PartialEq, Eq)] enum RegistryFilter { All, @@ -183,6 +187,12 @@ impl AgentRegistryPage { .iter() .enumerate() .filter(|(_, agent)| { + // Filter out built-in agents since they already appear in the main + // agent configuration UI and don't need to be installed from the registry. + if BUILT_IN_REGISTRY_IDS.contains(&agent.id.as_ref()) { + return false; + } + let matches_search = search.as_ref().is_none_or(|query| { let query = query.as_str(); agent.id.as_ref().to_lowercase().contains(query)