{"record":{"id":"a66ca2f070d10610","repo":"deepseek-ai/deepseek-harness","slug":"agent-this-id-has-no-provider-model-set-agen","errorCode":null,"errorMessage":"agent \"${this.id}\" has no provider/model: set AgentOptions.provider and AgentOptions.model or supply both via the agent/request waterfall","messagePattern":"agent \"(.+?)\" has no provider/model: set AgentOptions\\.provider and AgentOptions\\.model or supply both via the agent/request waterfall","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/core/agent-loop/src/agent.ts","lineNumber":463,"sourceCode":"      : undefined\n    const maxTokens = this.options.maxTokens\n    const seedConfig = deepFreeze(structuredClone(\n      this.requestHeaderLogged\n        // oxlint-disable-next-line typescript/no-non-null-assertion -- the instance logged the header it now folds\n        ? requestProposal(persistedHeader!)\n        : {\n          ...route,\n          ...reasoningEffort === undefined ? {} : { reasoningEffort },\n          ...maxTokens === undefined ? {} : { maxTokens },\n        },\n    ))\n    const proposedConfig = await this.dispatch.waterfall(\n      'agent/request', { turn, step, signal },\n      () => Promise.resolve(seedConfig),\n    )\n    signal.throwIfAborted()\n    if (!proposedConfig.provider || !proposedConfig.model) {\n      throw new Error(`agent \"${this.id}\" has no provider/model: set AgentOptions.provider and AgentOptions.model or supply both via the agent/request waterfall`)\n    }\n    let config: LlmCallConfig\n    let preparedCall: PreparedLlmCall | undefined\n    try {\n      preparedCall = await this.loopCtx.llm.prepareCall(proposedConfig, signal)\n      config = preparedCall.config\n    } catch (error: unknown) {\n      // Middleware may serve an unregistered route; terminal dispatch still requires an adapter.\n      if (!(error instanceof LlmError) || error.code !== 'NO_ADAPTER') throw error\n      config = proposedConfig\n    }\n    signal.throwIfAborted()\n\n    const header = canonicalHeader({\n      config,\n      ...preparedCall === undefined ? {} : { adapterDefaults: preparedCall.adapterDefaults },\n      ...system ? { system } : {},\n      ...tools.length > 0 ? { tools } : {},","sourceCodeStart":445,"sourceCodeEnd":481,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/core/agent-loop/src/agent.ts#L445-L481","documentation":"Error \"agent \"${this.id}\" has no provider/model: set AgentOptions.provider and AgentOptions.model or supply both via the agent/request waterfall\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/core/agent-loop/src/agent.ts:463 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set AgentOptions.provider and AgentOptions.model, or supply both via the agent/request waterfall."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}