deepseek-ai/deepseek-harness · error
llm-pi-ai: catalog provider "%s" cannot address a credential
Error message
llm-pi-ai: catalog provider "%s" cannot address a credential record; its sign-in is not offered
What it means
Error "llm-pi-ai: catalog provider "%s" cannot address a credential record; its sign-in is not offered" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/llm/llm-pi-ai/src/login.ts:133
* into before a route for it is worth adding, so the flow exists from the
* moment the plugin mounts rather than appearing once a profile does.
* @param ctx - the plugin context carrying `ctx.authorization`.
* @param auth - the injectables every collection here is built with.
*/
export function registerPiAiFlows(ctx: Context, auth: PiAiAuthInjection): void {
for (const providerId of catalogProviderIds()) {
const provider = catalogProvider(providerId)
const [first, ...rest] = loginMethods(provider)
/* v8 ignore next 3 -- every id here names an installed provider and every
installed provider ships a login, so nothing is skipped today; the guard
is what keeps that from becoming a crash if either stops being true. */
if (provider === undefined || first === undefined) continue
/* v8 ignore next 7 -- every installed catalog id today is a lowercase
hyphenated identifier; the guard keeps a future upstream id outside the
record grammar (dotted or uppercase, as vendor ids elsewhere already
are) from throwing in `recordKeyFor` and failing the whole mount. */
if (!isCredentialKeySegment(providerId)) {
ctx.logger.warn(
'llm-pi-ai: catalog provider "%s" cannot address a credential record; its sign-in is not offered',
providerId)
continue
}
ctx.authorization.registerFlow({
key: recordKeyFor(providerId),
label: provider.name,
methods: [first, ...rest],
async run(session) {
// A collection of its own, holding only the provider being signed
// into: login is not serving requests, and the credential it produces
// lands in the shared store either way.
const models = createModels(auth)
models.setProvider(provider)
// Total over the two ids declared above, and the seam only ever hands
// back one a flow declared.
const type: AuthType = session.method === 'oauth' ? 'oauth' : 'api_key'
// pi-ai persists what the login returns through that same store, whichView on GitHub (pinned to b150a551b8)
Solutions
- Configure a credential record for the named provider or use a provider that supports sign-in.
When it happens
Trigger: Thrown at packages/llm/llm-pi-ai/src/login.ts:133 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/d279c51bc73a4155.
Report an issue: GitHub.