deepseek-ai/deepseek-harness · error · PresetMountError
agent-presets: preset "${presetId}" failed to mount: composi
Error message
agent-presets: preset "${presetId}" failed to mount: composition file is unreadable: ${preset.path} What it means
Error "agent-presets: preset "${presetId}" failed to mount: composition file is unreadable: ${preset.path}" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/preset/agent-presets/src/index.ts:522
// roots — and the settings-page authoring flow turns "a composition
// changed" into a per-save event. This needs a joined-agent count on
// StandingMount, incremented in `mount`/`composeFrom`/`recompose` and
// decremented when the agent's scope key dies.
// Guarded delete: a caller that raced this one may have already started
// the next generation, and dropping THAT pointer would fork a third.
if (this.standing.get(preset.id) === pending) this.standing.delete(preset.id)
return this.ensureStanding(preset)
}
const created = (async (): Promise<StandingMount> => {
const key: ScopeKey = { agentPreset: preset.id }
const scope = createScope(this.selfCtx, key)
try {
// Stamped before the file is read: an edit racing the mount makes the
// stamp stale rather than silently current, so the next session
// refreshes instead of trusting a composition older than its stamp.
const stamp = await compositionStamp(preset.path)
if (stamp === undefined) {
throw new PresetMountError(preset.id, `composition file is unreadable: ${preset.path}`)
}
await mountPreset(scope.ctx, preset)
return { key, scope, stamp }
} catch (error) {
this.standing.delete(preset.id)
await scope.dispose()
throw error
}
})()
this.standing.set(preset.id, created)
return created
}
}
/** The composition file identity one standing generation was mounted from. */
interface CompositionStamp {
/** Modification time in milliseconds, as `stat` reports it. */
readonly mtimeMs: numberView on GitHub (pinned to b150a551b8)
Solutions
- Fix the preset's composition file path and permissions.
When it happens
Trigger: Thrown at packages/preset/agent-presets/src/index.ts:522 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/a912c63a8d67cf64.
Report an issue: GitHub.