deepseek-ai/deepseek-harness · error · Error
credentials-local: invalid document at ${filename}: ${docume
Error message
credentials-local: invalid document at ${filename}: ${document.errors.map(describeYamlError).join('; ')} What it means
Error "credentials-local: invalid document at ${filename}: ${document.errors.map(describeYamlError).join('; ')}" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/credentials/credentials-local/src/index.ts:196
* Parse one credentials document. Everything is rejected rather than skipped —
* an unversioned root, an unknown top-level key, a key that is not addressable,
* a wrong-typed value, an unknown record tag or field — because this file holds
* nothing but credentials and a silently ignored entry reads as "the credential
* I stored has no effect". Duplicate keys surface as parser errors. An empty
* document is an empty store and needs no version.
* @param text - the document's text.
* @param filename - absolute path, quoted in errors.
* @returns the parsed references and records.
*/
export function parseCredentialsDocument(text: string, filename: string): CredentialsDocument {
// `prettyErrors` is on only for `linePos`; `error.message` is never used,
// because the parser quotes the offending source line and in this document
// that line is a secret. Only the code and position leave this function, and
// the same rule governs every other diagnostic here — a key name is safe to
// print, a value is not.
const document = parseDocument(text, { prettyErrors: true, uniqueKeys: true })
if (document.errors.length > 0) {
throw new Error(`credentials-local: invalid document at ${filename}: ${
document.errors.map(describeYamlError).join('; ')}`)
}
const root: unknown = document.toJS() ?? {}
if (typeof root !== 'object' || root === null || Array.isArray(root)) {
throw new TypeError(`credentials-local: ${filename} must be a mapping`)
}
const fields = root as Record<string, unknown>
const keys = Object.keys(fields)
// An empty (or comment-only) document is the empty store and needs no
// version: there is nothing in it a later layout could have meant.
if (keys.length === 0) return { refs: new Map(), records: new Map() }
if (!('version' in fields)) {
throw new Error(
`credentials-local: ${filename} uses the pre-release flat layout. Add \`version: ${DOCUMENT_VERSION}\``
+ ` and nest the existing ${keys.length} ${keys.length === 1 ? 'entry' : 'entries'} under \`refs:\`.`
+ ' No values need to change.',
)
}View on GitHub (pinned to b150a551b8)
When it happens
Trigger: Thrown at packages/credentials/credentials-local/src/index.ts:196 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/c9805c528466c775.
Report an issue: GitHub.