diff --git a/packages/kilo-vscode/src/KiloProvider.ts b/packages/kilo-vscode/src/KiloProvider.ts index 9a25e3e1b38..2a46f1d01f0 100644 --- a/packages/kilo-vscode/src/KiloProvider.ts +++ b/packages/kilo-vscode/src/KiloProvider.ts @@ -1629,6 +1629,7 @@ export class KiloProvider implements vscode.WebviewViewProvider, TelemetryProper description: a.description, mode: a.mode, native: a.native, + hidden: a.hidden, color: a.color, deprecated: a.deprecated, permission: a.permission, diff --git a/packages/kilo-vscode/webview-ui/src/components/settings/AgentBehaviourTab.tsx b/packages/kilo-vscode/webview-ui/src/components/settings/AgentBehaviourTab.tsx index b2f1b0f9e74..ed5583a9e3c 100644 --- a/packages/kilo-vscode/webview-ui/src/components/settings/AgentBehaviourTab.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/settings/AgentBehaviourTab.tsx @@ -82,7 +82,12 @@ const AgentBehaviourTab: Component = () => { }) const agentNames = createMemo(() => { - const names = session.allAgents().map((a) => a.name) + // Exclude server-side hidden internal modes (compaction, title, summary) + // from the list. Config-only agents are still added below. + const names = session + .allAgents() + .filter((a) => !a.hidden) + .map((a) => a.name) // Also include any agents from config that might not be in the agent list const agents = Object.keys(config().agent ?? {}) for (const name of agents) {