From aa9956d46d136789aff9de39cbbe754e62015340 Mon Sep 17 00:00:00 2001 From: OpeOginni <107570612+OpeOginni@users.noreply.github.com> Date: Wed, 27 May 2026 06:57:24 +0200 Subject: [PATCH] fix(tui): handle non-git project paths when opening editor (#29180) --- .../src/cli/cmd/tui/component/prompt/index.tsx | 7 ++++++- .../src/cli/cmd/tui/routes/session/index.tsx | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx index 64b7181e63..2cf55aa65c 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx @@ -512,7 +512,12 @@ export function Prompt(props: PromptProps) { const content = await Editor.open({ value, renderer, - cwd: project.instance.path().worktree || project.instance.directory() || process.cwd(), + cwd: + (project.instance.path().worktree === "/" + ? undefined + : project.instance.path().worktree) || + project.instance.directory() || + process.cwd(), }) if (!content) return diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index 270c11049e..4436ac423b 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -968,7 +968,12 @@ export function Session() { await Editor.open({ value: transcript, renderer, - cwd: project.instance.path().worktree || project.instance.directory() || process.cwd(), + cwd: + (project.instance.path().worktree === "/" + ? undefined + : project.instance.path().worktree) || + project.instance.directory() || + process.cwd(), }) } else { const exportDir = process.cwd() @@ -981,7 +986,12 @@ export function Session() { const result = await Editor.open({ value: transcript, renderer, - cwd: project.instance.path().worktree || project.instance.directory() || process.cwd(), + cwd: + (project.instance.path().worktree === "/" + ? undefined + : project.instance.path().worktree) || + project.instance.directory() || + process.cwd(), }) if (result !== undefined) { await Filesystem.write(filepath, result)