diff --git a/src/app/extensions/page.tsx b/src/app/extensions/page.tsx index 93defc5..cdf69ae 100644 --- a/src/app/extensions/page.tsx +++ b/src/app/extensions/page.tsx @@ -40,7 +40,7 @@ function ExtensionsPageInner() { -
+
{tab === "skills" && } {tab === "mcp" && }
diff --git a/src/components/plugins/McpManager.tsx b/src/components/plugins/McpManager.tsx index 8ccf3a6..e2f5f08 100644 --- a/src/components/plugins/McpManager.tsx +++ b/src/components/plugins/McpManager.tsx @@ -136,7 +136,7 @@ export function McpManager() { const serverCount = Object.keys(servers).length; return ( -
+
diff --git a/src/lib/platform.ts b/src/lib/platform.ts index de0a5d1..414e7bf 100644 --- a/src/lib/platform.ts +++ b/src/lib/platform.ts @@ -53,13 +53,21 @@ export function getClaudeCandidatePaths(): string[] { if (isWindows) { const appData = process.env.APPDATA || path.join(home, 'AppData', 'Roaming'); const localAppData = process.env.LOCALAPPDATA || path.join(home, 'AppData', 'Local'); - return [ - path.join(appData, 'npm', 'claude.cmd'), - path.join(localAppData, 'npm', 'claude.cmd'), - path.join(home, '.npm-global', 'bin', 'claude.cmd'), - path.join(home, '.claude', 'bin', 'claude.exe'), - path.join(home, '.local', 'bin', 'claude.cmd'), + const exts = ['.cmd', '.exe', '.bat', '']; + const baseDirs = [ + path.join(appData, 'npm'), + path.join(localAppData, 'npm'), + path.join(home, '.npm-global', 'bin'), + path.join(home, '.claude', 'bin'), + path.join(home, '.local', 'bin'), ]; + const candidates: string[] = []; + for (const dir of baseDirs) { + for (const ext of exts) { + candidates.push(path.join(dir, 'claude' + ext)); + } + } + return candidates; } return [ '/usr/local/bin/claude',