n8n-io/n8n · error · Error
Local computer-use build not found at ${LOCAL_COMPUTER_USE_C
Error message
Local computer-use build not found at ${LOCAL_COMPUTER_USE_CLI}.
Build it first:
pnpm --filter @n8n/computer-use --filter @n8n/mcp-browser build
Or pass --use-published-daemon to spawn the released package via npx instead. What it means
Thrown by `ensureDaemon()` when autoStart is true, `usePublishedDaemon` is false (the default), and the local workspace build of `@n8n/computer-use` is missing at the resolved path `packages/@n8n/computer-use/dist/cli.js`. The runner prefers the local build so in-progress changes to `@n8n/computer-use` and its workspace deps (`@n8n/mcp-browser`) are picked up; the error tells you to either build it or fall back to the published npm package.
Source
Thrown at packages/@n8n/instance-ai/evaluations/computer-use/daemon.ts:83
logger.verbose(`[daemon] already paired, dir=${status.directory}`);
// Auto-connect (N8N_EVAL_AUTO_BROWSER_CONNECT=1) is set on the daemon's
// own process env at spawn-time, so it only takes effect when the eval
// runner started the daemon. A pre-existing daemon won't have it.
logger.warn(
'Reusing existing computer-use daemon. If it was not started by this eval runner, ' +
'browser auto-connect may be inactive — you may need to click Connect in the ' +
'extension manually when the browser session resets between scenarios.',
);
return toInfo(status);
}
if (!opts.autoStart) {
throw new Error(noDaemonHint(opts.baseUrl));
}
const usePublished = opts.usePublishedDaemon ?? false;
if (!usePublished && !existsSync(LOCAL_COMPUTER_USE_CLI)) {
throw new Error(
`Local computer-use build not found at ${LOCAL_COMPUTER_USE_CLI}.\n` +
'Build it first:\n' +
' pnpm --filter @n8n/computer-use --filter @n8n/mcp-browser build\n' +
'\n' +
'Or pass --use-published-daemon to spawn the released package via npx instead.',
);
}
const sandboxDir = opts.daemonSandboxDir ?? join(opts.evalOutputDir, 'daemon-sandbox');
await mkdir(sandboxDir, { recursive: true });
const logPath = join(opts.evalOutputDir, 'daemon.log');
const { token } = await client.createGatewayLink();
logger.info(
`Daemon not running — auto-starting (${usePublished ? 'published via npx' : 'local workspace build'}, sandbox: ${sandboxDir})`,
);
const pid = await spawnDaemonDetached({View on GitHub (pinned to 5ac6606e81)
Solutions
- Build the local packages: `pnpm --filter @n8n/computer-use --filter @n8n/mcp-browser build`, then re-run the eval.
- If you want to test the released artifact instead (e.g. reproducing a customer bug against the shipped version), pass `--use-published-daemon` to spawn `@n8n/computer-use` via npx.
- If the build keeps failing, check `packages/@n8n/computer-use/package.json` and its tsconfig; a compile error there will prevent `dist/cli.js` from being emitted.
Example fix
// before $ node cli.ts --base-url http://localhost:5678 # Error: Local computer-use build not found at .../dist/cli.js // after (option A) $ pnpm --filter @n8n/computer-use --filter @n8n/mcp-browser build $ node cli.ts --base-url http://localhost:5678 // after (option B) $ node cli.ts --base-url http://localhost:5678 --use-published-daemon
Defensive patterns
Strategy: validation
Validate before calling
import { existsSync } from 'node:fs';
const LOCAL = resolve(__dirname, '../../../../../packages/@n8n/computer-use/dist/cli.js');
if (!usePublishedDaemon && !existsSync(LOCAL)) {
throw new Error(`Build missing — run: pnpm --filter @n8n/computer-use --filter @n8n/mcp-browser build`);
} Prevention
- Add a `pnpm agent:setup` or repo build step to your onboarding so `dist/cli.js` exists before any eval run.
- After `pnpm reset --full`, always rebuild before invoking evals.
- In CI, depend on the build job, not just install.
When it happens
Trigger: Fresh checkout where `pnpm install` ran but `pnpm build` (or `pnpm --filter @n8n/computer-use --filter @n8n/mcp-browser build`) has not. A `pnpm reset`/`git clean -fdx` that wiped `dist/`. Switching branches where `@n8n/computer-use` was added/removed. A failed partial build that produced some packages' `dist/` but not this one.
Common situations: First run of the computer-use eval suite on a new machine. After `pnpm reset --full`. In CI if the build step was skipped or cached as a miss without re-running.
Related errors
- No computer-use daemon is paired with this n8n instance. Ei
- Agent "${this.name}" requires a model
- Agent "${this.name}" requires instructions
- Daemon spawned (pid ${pid}) but did not pair within ${String
- Failed to spawn daemon: `${command}` did not start. See ${ar
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/adb856a5b8b3c612.
Report an issue: GitHub.