From 8073235299d1940aa76c656858919a1dd0aeba24 Mon Sep 17 00:00:00 2001 From: lngdao Date: Tue, 7 Apr 2026 10:38:51 +0700 Subject: [PATCH] fix: set workspace.baseDir to target directory on instances create/clone --- src/cli/commands/instances.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/cli/commands/instances.ts b/src/cli/commands/instances.ts index 8906a488..29b70e85 100644 --- a/src/cli/commands/instances.ts +++ b/src/cli/commands/instances.ts @@ -164,11 +164,13 @@ export async function cmdInstancesCreate(args: string[]): Promise { fs.mkdirSync(instanceRoot, { recursive: true }) const { copyInstance } = await import('../../core/instance/instance-copy.js') await copyInstance(fromRoot, instanceRoot, {}) - // Write instanceName into config + // Update config for new instance: name + workspace dir const configPath = path.join(instanceRoot, 'config.json') try { const config = JSON.parse(fs.readFileSync(configPath, 'utf-8')) config.instanceName = name + if (!config.workspace) config.workspace = {} + config.workspace.baseDir = resolvedDir fs.writeFileSync(configPath, JSON.stringify(config, null, 2)) } catch {} } else if (noInteractive || !process.stdin.isTTY) { @@ -177,7 +179,7 @@ export async function cmdInstancesCreate(args: string[]): Promise { const config: Record = { channels: { sse: { enabled: true } }, defaultAgent: agent || 'claude', - workspace: { baseDir: '~/openacp-workspace' }, + workspace: { baseDir: resolvedDir }, runMode: 'daemon', autoStart: false, instanceName: name, @@ -190,7 +192,7 @@ export async function cmdInstancesCreate(args: string[]): Promise { const config: Record = { channels: { sse: { enabled: true } }, defaultAgent: agent || 'claude', - workspace: { baseDir: '~/openacp-workspace' }, + workspace: { baseDir: resolvedDir }, runMode: 'daemon', autoStart: false, instanceName: name,