diff --git a/src/resources/extensions/gsd/commands/context.ts b/src/resources/extensions/gsd/commands/context.ts index 7bbaa5790..f4a5aa423 100644 --- a/src/resources/extensions/gsd/commands/context.ts +++ b/src/resources/extensions/gsd/commands/context.ts @@ -13,7 +13,13 @@ export interface GsdDispatchContext { } export function projectRoot(): string { - const cwd = process.cwd(); + let cwd: string; + try { + cwd = process.cwd(); + } catch { + // cwd directory was deleted (e.g. worktree teardown) — fall back to HOME (#3598) + cwd = process.env.HOME ?? "/"; + } const root = resolveProjectRoot(cwd); if (root !== cwd) { assertSafeDirectory(cwd);