diff --git a/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx b/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx index b4fe4167..fcdb743f 100644 --- a/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx +++ b/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx @@ -134,7 +134,7 @@ export const ToolConfirmationMessage: React.FC< ); if (config?.getIdeMode() && config?.getIdeModeFeature()) { options.push({ - label: 'No', + label: 'No (esc)', value: ToolConfirmationOutcome.Cancel, }); } else { diff --git a/packages/core/src/ide/ide-client.ts b/packages/core/src/ide/ide-client.ts index 92224389..0ab79e74 100644 --- a/packages/core/src/ide/ide-client.ts +++ b/packages/core/src/ide/ide-client.ts @@ -5,6 +5,7 @@ */ import * as fs from 'node:fs'; +import * as path from 'node:path'; import { detectIde, DetectedIde, @@ -249,7 +250,11 @@ export class IdeClient { ); return false; } - if (getRealPath(ideWorkspacePath) !== getRealPath(process.cwd())) { + + const idePath = getRealPath(ideWorkspacePath).toLocaleLowerCase(); + const cwd = getRealPath(process.cwd()).toLocaleLowerCase(); + const rel = path.relative(idePath, cwd); + if (rel.startsWith('..') || path.isAbsolute(rel)) { this.setState( IDEConnectionStatus.Disconnected, `Directory mismatch. Gemini CLI is running in a different location than the open workspace in ${this.currentIdeDisplayName}. Please run the CLI from the same directory as your project's root folder.`,