From ed41a7a7b91ebdf7b5b6e7271854f914eb52856e Mon Sep 17 00:00:00 2001 From: Jason Date: Mon, 11 May 2026 22:56:53 +0800 Subject: [PATCH] feat(ui): distinguish Claude Code vs Claude Desktop in app switcher The two Claude entries shared the same orange logo, making them hard to tell apart at a glance. Rename the first entry to "Claude Code" and overlay a Terminal badge on its logo; overlay a Monitor badge on the Claude Desktop logo. Changes are scoped to AppSwitcher only; other panels (MCP, Skills, Usage, etc.) continue to show "Claude". --- src/components/AppSwitcher.tsx | 79 ++++++++++++++++++++++------------ 1 file changed, 52 insertions(+), 27 deletions(-) diff --git a/src/components/AppSwitcher.tsx b/src/components/AppSwitcher.tsx index f8c2dfafd..dfc920bcd 100644 --- a/src/components/AppSwitcher.tsx +++ b/src/components/AppSwitcher.tsx @@ -2,6 +2,12 @@ import type { AppId } from "@/lib/api"; import type { VisibleApps } from "@/types"; import { ProviderIcon } from "@/components/ProviderIcon"; import { cn } from "@/lib/utils"; +import { Monitor, Terminal } from "lucide-react"; + +const APP_BADGE_ICON: Partial> = { + claude: Terminal, + "claude-desktop": Monitor, +}; interface AppSwitcherProps { activeApp: AppId; @@ -43,7 +49,7 @@ export function AppSwitcher({ hermes: "hermes", }; const appDisplayName: Record = { - claude: "Claude", + claude: "Claude Code", "claude-desktop": "Claude Desktop", codex: "Codex", gemini: "Gemini", @@ -60,35 +66,54 @@ export function AppSwitcher({ return (
- {appsToShow.map((app) => ( - - ))} + + + {BadgeIcon && ( + + )} + + + {appDisplayName[app]} + + + ); + })}
); }