earendil-works/pi · error · ExecutionError
spawn_error
spawn_error
Error message
Working directory does not exist: ${cwd}
Cannot execute bash commands. What it means
Error "Working directory does not exist: ${cwd} Cannot execute bash commands." thrown in earendil-works/pi.
Source
Thrown at packages/agent/src/harness/env/nodejs.ts:383
}
async exec(
command: string,
options?: ShellExecOptions,
): Promise<Result<{ stdout: string; stderr: string; exitCode: number }, ExecutionError>> {
if (options?.abortSignal?.aborted) return err(new ExecutionError("aborted", "aborted"));
const timeoutMsResult = resolveTimeoutMs(options?.timeout);
if (!timeoutMsResult.ok) return err(timeoutMsResult.error);
const timeoutMs = timeoutMsResult.value;
const cwd = options?.cwd ? resolvePath(this.cwd, options.cwd) : this.cwd;
const shellConfig = await getShellConfig(this.shellPath);
if (!shellConfig.ok) return shellConfig;
try {
await access(cwd, constants.F_OK);
} catch (error) {
const cause = toError(error);
return err(
new ExecutionError(
"spawn_error",
`Working directory does not exist: ${cwd}\nCannot execute bash commands.`,
cause,
),
);
}
return await new Promise((resolvePromise) => {
let stdout = "";
let stderr = "";
let settled = false;
let timedOut = false;
let callbackError: ExecutionError | undefined;
let child: ReturnType<typeof spawn> | undefined;
let timeoutId: ReturnType<typeof setTimeout> | undefined;
const onAbort = () => {View on GitHub (pinned to 4af9d21d3b)
Solutions
- Create the working directory or fix the cwd path before running bash commands.
When it happens
Trigger: Thrown at packages/agent/src/harness/env/nodejs.ts:383 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24).
Data as JSON: /api/errors/536f1edc4c8e1020.
Report an issue: GitHub.