diff --git a/apps/server/src/cli.ts b/apps/server/src/cli.ts index c9d3f80a9d..b9162affe4 100644 --- a/apps/server/src/cli.ts +++ b/apps/server/src/cli.ts @@ -28,15 +28,18 @@ let managedOpencode: ManagedOpencodeServer | null = null; if (!config.readOnly) { for (const workspace of config.workspaces) { + if (workspace.workspaceType === "remote") { + continue; + } await ensureWorkspaceFiles(workspace.path, workspace.preset ?? "starter"); } } if (!config.opencodeBaseUrl && process.env.OPENWORK_MANAGE_OPENCODE === "1") { - const workspace = config.workspaces[0]; - if (workspace?.path) { + const localWorkspace = config.workspaces.find((w) => w.workspaceType !== "remote" && w.path); + const managedOpencodeCwd = process.env.OPENWORK_MANAGED_OPENCODE_CWD?.trim() || localWorkspace?.path; + if (managedOpencodeCwd) { const openworkRuntimeConfig = buildOpenworkRuntimeConfig(); - const managedOpencodeCwd = process.env.OPENWORK_MANAGED_OPENCODE_CWD?.trim() || workspace.path; await mkdir(managedOpencodeCwd, { recursive: true }); managedOpencode = await createManagedOpencodeServer({ bin: process.env.OPENWORK_OPENCODE_BIN, diff --git a/apps/server/src/embedded.ts b/apps/server/src/embedded.ts index c9a1129ae1..a45fd70d37 100644 --- a/apps/server/src/embedded.ts +++ b/apps/server/src/embedded.ts @@ -48,17 +48,20 @@ export async function startEmbeddedServer(options: EmbeddedServerOptions): Promi if (!config.readOnly) { for (const workspace of config.workspaces) { + if (workspace.workspaceType === "remote") { + continue; + } await ensureWorkspaceFiles(workspace.path, workspace.preset ?? "starter"); } } if (!config.opencodeBaseUrl && options.manageOpencode) { - const workspace = config.workspaces[0]; - if (workspace?.path) { + const localWorkspace = config.workspaces.find((w) => w.workspaceType !== "remote" && w.path); + const cwd = options.opencodeCwd + || process.env.OPENWORK_MANAGED_OPENCODE_CWD?.trim() + || localWorkspace?.path; + if (cwd) { const openworkRuntimeConfig = buildOpenworkRuntimeConfig(); - const cwd = options.opencodeCwd - || process.env.OPENWORK_MANAGED_OPENCODE_CWD?.trim() - || workspace.path; await mkdir(cwd, { recursive: true }); managedOpencode = await createManagedOpencodeServer({