diff --git a/sdk.mjs b/sdk.mjs index 1e1c3e4e3f81db622fb2789d17f3d421f212306e..5d193cdb6a43c7799fd5eff2d8af80827bfbdf1e 100755 --- a/sdk.mjs +++ b/sdk.mjs @@ -11985,7 +11985,7 @@ function createAbortController(maxListeners = DEFAULT_MAX_LISTENERS) { } // ../src/transport/ProcessTransport.ts -import { spawn } from "child_process"; +import { fork } from "child_process"; import { createInterface } from "readline"; // ../src/utils/fsOperations.ts @@ -12999,14 +12999,14 @@ class ProcessTransport { return isRunningWithBun() ? "bun" : "node"; } spawnLocalProcess(spawnOptions) { - const { command, args, cwd: cwd2, env, signal } = spawnOptions; + const { args, cwd: cwd2, env, signal } = spawnOptions; const stderrMode = env.DEBUG_CLAUDE_AGENT_SDK || this.options.stderr ? "pipe" : "ignore"; - const childProcess = spawn(command, args, { + logForSdkDebugging(`Forking Claude Code Node.js process: ${args[0]} ${args.slice(1).join(" ")}`); + const childProcess = fork(args[0], args.slice(1), { cwd: cwd2, - stdio: ["pipe", "pipe", stderrMode], + stdio: stderrMode === "pipe" ? ["pipe", "pipe", "pipe", "ipc"] : ["pipe", "pipe", "ignore", "ipc"], signal, - env, - windowsHide: true + env }); if (env.DEBUG_CLAUDE_AGENT_SDK || this.options.stderr) { childProcess.stderr.on("data", (data) => {