summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx2
-rw-r--r--packages/core/src/ide/ide-client.ts7
2 files changed, 7 insertions, 2 deletions
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.`,