# X_SPAWN_TIMED_OUT

## Means

a command a gate script ran did not finish within its deadline and was killed

## Typical cause

`run()` in `scripts/lib/run.ts` races the whole call, the child's pipes included, against `timeoutMs` (default `DEFAULT_RUN_TIMEOUT_MS`, 2 minutes). Either the command hung, or it exited and left a process holding its output open — git's background maintenance, a pager, a credential helper — and a reader waiting for EOF waits as long as that process lives. Reported in the run's result (`timedOut: true`), never thrown: the caller decides what an unanswered command means

## Fix

`run(command, { cwd, timeoutMs: LONG_RUN_TIMEOUT_MS })` in the calling script, when the command legitimately runs longer; when it hung, `ps -eo pid,ppid,etime,args` shows what still holds its output

[CLI and verify](/error-codes#cli-and-verify)
