deepseek-ai/deepseek-harness · error · Error
credentials-local: record "${key}" in ${filename} has no kin
Error message
credentials-local: record "${key}" in ${filename} has no kind What it means
Error "credentials-local: record "${key}" in ${filename} has no kind" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/credentials/credentials-local/src/index.ts:356
if (apiKey !== undefined && (typeof apiKey !== 'string' || apiKey.length === 0)) {
throw new TypeError(`credentials-local: record "${key}" in ${filename} has a non-string or empty key`)
}
const env = parseRecordEnv(key, fields['env'], filename)
return {
kind: 'api-key',
...apiKey === undefined ? {} : { key: apiKey },
...env === undefined ? {} : { env },
}
}
if (kind === 'grant') {
assertFields(key, fields, ['kind', 'payload'], filename)
if (!('payload' in fields)) {
throw new Error(`credentials-local: record "${key}" in ${filename} has no payload`)
}
assertJsonValue(`record "${key}" payload in ${filename}`, fields['payload'], new Set())
return { kind: 'grant', payload: fields['payload'] }
}
if (kind === undefined) throw new Error(`credentials-local: record "${key}" in ${filename} has no kind`)
throw new Error(`credentials-local: record "${key}" in ${filename} has unknown kind ${JSON.stringify(kind)}`)
}
/** Reject a field the tag does not define, so a typo is not silently dropped. */
function assertFields(key: string, fields: Record<string, unknown>, allowed: string[], filename: string): void {
for (const field of Object.keys(fields)) {
if (!allowed.includes(field)) {
throw new Error(`credentials-local: record "${key}" in ${filename} has unknown field "${field}"`)
}
}
}
/** Admit an api-key record's provider environment: POSIX names over non-empty strings. */
function parseRecordEnv(key: string, env: unknown, filename: string): Record<string, string> | undefined {
if (env === undefined) return undefined
if (typeof env !== 'object' || env === null || Array.isArray(env)) {
throw new TypeError(`credentials-local: record "${key}" in ${filename} has a non-mapping env`)
}View on GitHub (pinned to b150a551b8)
When it happens
Trigger: Thrown at packages/credentials/credentials-local/src/index.ts:356 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/708f684cf00ecbce.
Report an issue: GitHub.