diff --git a/src/types/protocol_v2.ts b/src/types/protocol_v2.ts index 5c13440..5cd0226 100644 --- a/src/types/protocol_v2.ts +++ b/src/types/protocol_v2.ts @@ -363,6 +363,8 @@ export interface TerminalSpawnCommand { terminal_id: string; cols: number; rows: number; + /** Agent's current working directory. Falls back to bootWorkingDirectory if absent. */ + cwd?: string; } export interface TerminalInputCommand { diff --git a/src/websocket/listener/client.ts b/src/websocket/listener/client.ts index ea0da88..4196686 100644 --- a/src/websocket/listener/client.ts +++ b/src/websocket/listener/client.ts @@ -1018,7 +1018,11 @@ async function connectWithRetry( // ── Terminal commands (no runtime scope required) ────────────────── if (parsed.type === "terminal_spawn") { - handleTerminalSpawn(parsed, socket, runtime.bootWorkingDirectory); + handleTerminalSpawn( + parsed, + socket, + parsed.cwd ?? runtime.bootWorkingDirectory, + ); return; }