deepseek-ai/deepseek-harness · error · LlmError
TIMEOUT
TIMEOUT
Error message
DeepSeek stream idle timeout after ${connection.streamIdleTimeoutMs}ms What it means
Error "DeepSeek stream idle timeout after ${connection.streamIdleTimeoutMs}ms" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/llm/llm-deepseek/src/adapter.ts:488
connection,
apiKey,
userId,
attachments,
() => { watchdog.pulse() },
)[Symbol.asyncIterator]()
let exhausted = false
try {
while (true) {
const result = await watchdog.next(iterator)
if (result.done) {
exhausted = true
return
}
yield result.value
}
} catch (error: unknown) {
if (timeoutOf(watchdog.signal, STREAM_IDLE_TIMEOUT_CODE) !== undefined) {
throw new LlmError(
`DeepSeek stream idle timeout after ${connection.streamIdleTimeoutMs}ms`,
'TIMEOUT',
{ cause: error },
)
}
if (options.signal?.aborted) {
throw new LlmError('DeepSeek request aborted by caller', 'ABORTED', { cause: error })
}
if (error instanceof LlmError) throw error
throw new LlmError(`DeepSeek API stream from ${connection.baseURL} failed`, 'TRANSPORT', { cause: error })
} finally {
consumer.abort('DeepSeek stream consumer stopped')
if (!exhausted && iterator.return !== undefined) {
try {
await iterator.return()
} catch (_abortedTransportTeardown) {
// The consumer controller already owns termination; a return-time abort cannot add a second outcome.
}View on GitHub (pinned to b150a551b8)
Solutions
- Retry the request; if it persists, raise streamIdleTimeoutMs or check network and API health.
When it happens
Trigger: Thrown at packages/llm/llm-deepseek/src/adapter.ts:488 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/317de7c9f284e7db.
Report an issue: GitHub.