diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx index 7d58782101df..d5eef882a20b 100644 --- a/packages/opencode/src/cli/cmd/tui/app.tsx +++ b/packages/opencode/src/cli/cmd/tui/app.tsx @@ -207,7 +207,7 @@ export function tui(input: { input.args.continue ? { type: "session", - sessionID: "dummy", + sessionID: "ses_dummy", } : undefined } @@ -399,19 +399,24 @@ function App(props: { onSnapshot?: () => Promise }) { const match = sync.data.session .toSorted((a, b) => b.time.updated - a.time.updated) .find((x) => x.parentID === undefined)?.id - if (match) { - continued = true - if (args.fork) { - void sdk.client.session.fork({ sessionID: match }).then((result) => { - if (result.data?.id) { - route.navigate({ type: "session", sessionID: result.data.id }) - } else { - toast.show({ message: "Failed to fork session", variant: "error" }) - } - }) - } else { - route.navigate({ type: "session", sessionID: match }) - } + + continued = true + + if (!match) { + toast.show({ message: "No previous sessions in this project", variant: "error" }) + route.navigate({ type: "home" }) + return + } + if (args.fork) { + void sdk.client.session.fork({ sessionID: match }).then((result) => { + if (result.data?.id) { + route.navigate({ type: "session", sessionID: result.data.id }) + } else { + toast.show({ message: "Failed to fork session", variant: "error" }) + } + }) + } else { + route.navigate({ type: "session", sessionID: match }) } })