deepseek-ai/deepseek-harness · error · Error
llm-pi-ai: provider "${provider}" sets "provider", which mov
Error message
llm-pi-ai: provider "${provider}" sets "provider", which moved to the providers dict key What it means
Error "llm-pi-ai: provider "${provider}" sets "provider", which moved to the providers dict key" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/llm/llm-pi-ai/src/config.ts:361
* transform because the schema is also the shape a configuration surface
* renders and the value an absent section resolves to; wrapping it would break
* both.
* @param config - the resolved section to check.
* @throws Error naming the route and model that cannot be served.
*/
export function assertServiceable(config: Config): void {
resolveProfiles(config.providers)
}
/** Reject removed pre-release profile fields and name their replacements. */
function rejectRemovedFields(provider: string, source: PiAiProviderProfile): void {
const legacy = source as PiAiProviderProfile & {
provider?: unknown
maxRetries?: unknown
maxRetryDelayMs?: unknown
}
if ('provider' in legacy) {
throw new Error(`llm-pi-ai: provider "${provider}" sets "provider", which moved to the providers dict key`)
}
if ('maxRetries' in legacy || 'maxRetryDelayMs' in legacy) {
throw new Error(
`llm-pi-ai: provider "${provider}" sets maxRetries or maxRetryDelayMs, which were removed;`
+ ' compose agent recovery with dsh-llm-retry',
)
}
}
/**
* Validate profiles and return a detached route-keyed map suitable for
* per-request reads. This is the one explicit resolve step, so an omitted dict
* resolves to the empty (dormant) route set here rather than through a hidden
* fallback, and each route's models and pi-ai provider are materialized once.
* @param providers - configured provider profiles keyed by route.
* @returns validated profiles in configuration order.
*/
export function resolveProfiles(View on GitHub (pinned to b150a551b8)
Solutions
- Remove the inline "provider" field; the provider name now lives in the providers dict key.
When it happens
Trigger: Thrown at packages/llm/llm-pi-ai/src/config.ts:361 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/514c699fbc2fbd47.
Report an issue: GitHub.