deepseek-ai/deepseek-harness · error · LlmError
DeepSeek API error (HTTP ${response.status})
Error message
DeepSeek API error (HTTP ${response.status}) What it means
Error "DeepSeek API error (HTTP ${response.status})" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/llm/llm-deepseek/src/adapter.ts:651
const detail = [providerError?.code, providerError?.type, providerError?.message]
.filter((field): field is string => typeof field === 'string')
.join(' ')
const staleFile = usedFiles.length > 0 && providerRejectedFileId(detail)
if (staleFile) {
await Promise.all(staleMappings(usedFiles, detail).map(file => (
this.files.invalidate(file.version, file.fileId, fileConnection)
)))
if (fileAttempt === 0) {
fileAttempt += 1
continue
}
}
if (response.status === 400 && usedFiles.length > 0 && providerRejectedNormalizedImage(detail)) {
message = normalizedImageDiagnostic(usedFiles, message, detail)
}
const delay = providerRetryAfterMs(response.headers.get('retry-after'))
const id = requestId(response.headers)
throw new LlmError(message, httpErrorCode(response.status, providerError), {
cause: new Error(rawResponse.length > 0 ? rawResponse : `DeepSeek HTTP ${response.status}`),
status: response.status,
...delay === undefined ? {} : { providerRetryAfterMs: delay },
...id === undefined ? {} : { requestId: id },
})
}
if (!response.body) {
throw new LlmError('DeepSeek API returned no response body', 'EMPTY_RESPONSE')
}
yield* translate(parseSse(response.body, onActivity))
return
}
}
}
View on GitHub (pinned to b150a551b8)
Solutions
- Act on the HTTP status: fix the API key for 401, back off for 429, and inspect the response body for other statuses.
When it happens
Trigger: Thrown at packages/llm/llm-deepseek/src/adapter.ts:651 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24).
Data as JSON: /api/errors/bd1050ec9d1fe2a6.
Report an issue: GitHub.