From 1f9c2d4cb10a948b7951ec4fe43927680193d14a Mon Sep 17 00:00:00 2001 From: Bin Date: Tue, 7 Jul 2026 16:19:23 +0800 Subject: [PATCH] fix: allow worktree directories under Global.Path.data Worktrees are stored at Global.Path.data/worktree//, not under the project working directory. The server middleware auth check was rejecting worktree paths. Add Global.Path.data as an allowed directory alongside the orchestrator path. --- packages/opencode/src/server/routes/instance/middleware.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/opencode/src/server/routes/instance/middleware.ts b/packages/opencode/src/server/routes/instance/middleware.ts index d5f6683a9..74121a2b2 100644 --- a/packages/opencode/src/server/routes/instance/middleware.ts +++ b/packages/opencode/src/server/routes/instance/middleware.ts @@ -33,7 +33,7 @@ export function InstanceMiddleware(workspaceID?: WorkspaceID): MiddlewareHandler Flag.MIMOCODE_EXPERIMENTAL_ORCHESTRATOR ? Filesystem.resolve(path.join(Global.Path.data, "orchestrator")) : undefined - if (!Filesystem.contains(cwd, directory) && directory !== orchestrator) { + if (!Filesystem.contains(cwd, directory) && directory !== orchestrator && !Filesystem.contains(Global.Path.data, directory)) { return c.json({ error: "Access denied: directory must be within the server's working directory" }, 403) } }