Skip to content

Commit 2d52a46

Browse files
jwaterwaterclaude
andauthored
fix: encode non-ASCII directory paths in HTTP headers (#7145)
Co-authored-by: Claude <[email protected]>
1 parent 9cce0cf commit 2d52a46

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

packages/opencode/src/server/server.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,12 @@ export namespace Server {
246246
},
247247
)
248248
.use(async (c, next) => {
249-
const directory = c.req.query("directory") || c.req.header("x-opencode-directory") || process.cwd()
249+
let directory = c.req.query("directory") || c.req.header("x-opencode-directory") || process.cwd()
250+
try {
251+
directory = decodeURIComponent(directory)
252+
} catch {
253+
// fallback to original value
254+
}
250255
return Instance.provide({
251256
directory,
252257
init: InstanceBootstrap,

packages/sdk/js/src/v2/client.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@ export function createOpencodeClient(config?: Config & { directory?: string }) {
1919
}
2020

2121
if (config?.directory) {
22+
const isNonASCII = /[^\x00-\x7F]/.test(config.directory)
23+
const encodedDirectory = isNonASCII ? encodeURIComponent(config.directory) : config.directory
2224
config.headers = {
2325
...config.headers,
24-
"x-opencode-directory": config.directory,
26+
"x-opencode-directory": encodedDirectory,
2527
}
2628
}
2729

0 commit comments

Comments
 (0)