summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorshuv <[email protected]>2026-01-02 19:54:11 -0800
committerGitHub <[email protected]>2026-01-02 21:54:11 -0600
commit401b498c7d9727b69f9b80ef472da0667244fc6d (patch)
tree42aed65e38a7be3787082b9130d7689eab3e618a
parentf2ec0360275a815be3f12452d8660b022f94d512 (diff)
downloadopencode-401b498c7d9727b69f9b80ef472da0667244fc6d.tar.gz
opencode-401b498c7d9727b69f9b80ef472da0667244fc6d.zip
fix(tui): pass attach directory to sdk client (#6715)
Co-authored-by: shuv <[email protected]>
-rw-r--r--packages/opencode/src/cli/cmd/tui/app.tsx4
-rw-r--r--packages/opencode/src/cli/cmd/tui/attach.ts2
-rw-r--r--packages/opencode/src/cli/cmd/tui/context/sdk.tsx3
3 files changed, 6 insertions, 3 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx
index 8465898d7..006d04f1c 100644
--- a/packages/opencode/src/cli/cmd/tui/app.tsx
+++ b/packages/opencode/src/cli/cmd/tui/app.tsx
@@ -96,7 +96,7 @@ async function getTerminalBackgroundColor(): Promise<"dark" | "light"> {
})
}
-export function tui(input: { url: string; args: Args; onExit?: () => Promise<void> }) {
+export function tui(input: { url: string; args: Args; directory?: string; onExit?: () => Promise<void> }) {
// promise to prevent immediate exit
return new Promise<void>(async (resolve) => {
const mode = await getTerminalBackgroundColor()
@@ -116,7 +116,7 @@ export function tui(input: { url: string; args: Args; onExit?: () => Promise<voi
<KVProvider>
<ToastProvider>
<RouteProvider>
- <SDKProvider url={input.url}>
+ <SDKProvider url={input.url} directory={input.directory}>
<SyncProvider>
<ThemeProvider mode={mode}>
<LocalProvider>
diff --git a/packages/opencode/src/cli/cmd/tui/attach.ts b/packages/opencode/src/cli/cmd/tui/attach.ts
index 5d1a4ded2..561a8ced6 100644
--- a/packages/opencode/src/cli/cmd/tui/attach.ts
+++ b/packages/opencode/src/cli/cmd/tui/attach.ts
@@ -22,9 +22,11 @@ export const AttachCommand = cmd({
}),
handler: async (args) => {
if (args.dir) process.chdir(args.dir)
+ const directory = process.cwd()
await tui({
url: args.url,
args: { sessionID: args.session },
+ directory,
})
},
})
diff --git a/packages/opencode/src/cli/cmd/tui/context/sdk.tsx b/packages/opencode/src/cli/cmd/tui/context/sdk.tsx
index 3ea7c90b7..4bcabaeaf 100644
--- a/packages/opencode/src/cli/cmd/tui/context/sdk.tsx
+++ b/packages/opencode/src/cli/cmd/tui/context/sdk.tsx
@@ -5,11 +5,12 @@ import { batch, onCleanup, onMount } from "solid-js"
export const { use: useSDK, provider: SDKProvider } = createSimpleContext({
name: "SDK",
- init: (props: { url: string }) => {
+ init: (props: { url: string; directory?: string }) => {
const abort = new AbortController()
const sdk = createOpencodeClient({
baseUrl: props.url,
signal: abort.signal,
+ directory: props.directory,
})
const emitter = createGlobalEmitter<{