deepseek-ai/deepseek-harness · error · LlmError
TIMEOUT
TIMEOUT
Error message
pi-ai stream idle timeout after ${streamIdleTimeoutMs}ms What it means
Error "pi-ai stream idle timeout after ${streamIdleTimeoutMs}ms" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/llm/llm-pi-ai/src/adapter.ts:402
if (result.done) {
exhausted = true
return
}
yield result.value
}
} finally {
if (!exhausted) {
consumer.abort('pi-ai stream consumer stopped')
try {
await iterator.return(undefined)
} catch (_abortedSdkTeardown) {
// The stable signal already owns SDK termination; return-time abort cannot add an outcome.
}
}
}
} catch (error: unknown) {
if (timeoutOf(watchdog.signal, 'LLM_STREAM_IDLE_TIMEOUT') !== undefined) {
throw new LlmError(`pi-ai stream idle timeout after ${streamIdleTimeoutMs}ms`, 'TIMEOUT', { cause: error })
}
if (options.signal?.aborted) {
throw new LlmError('pi-ai request aborted by caller', 'ABORTED', { cause: error })
}
throw error
} finally {
consumer.abort('pi-ai stream consumer stopped')
}
}
}
View on GitHub (pinned to b150a551b8)
Solutions
- Retry the request; raise streamIdleTimeoutMs if the provider is slow to start streaming.
When it happens
Trigger: Thrown at packages/llm/llm-pi-ai/src/adapter.ts:402 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24).
Data as JSON: /api/errors/c474b61239bfd952.
Report an issue: GitHub.