Start with the deepest cause
Find the final nested cause after “plugin tree failed to load.” The loader entry and system error code usually identify the failing layer more reliably than the first line.
| Deepest signal | Likely layer | First safe check |
|---|---|---|
| EXDEV + workspace.json | Storage path or Windows redirection | Inspect the path for a junction, reparse point, or redirected home. |
| Cannot find package or module | Dependency or published artifact | Confirm the package landed and its built files exist. |
| Missing patch or loader entry | Bundle packaging | Compare dsh.bundle.patch with the published package contents. |
| Duplicate service or tool | Plugin interaction | Reproduce in a clean profile, then reduce the active set. |
Preserve the evidence before changing the profile
Record the exact DSH, Node, platform, profile, and failing stack. Copy the profile manifest and patch files to a safe location before editing them. Do not delete workspace.json simply because it is named in a failed atomic write.
node -v
dsh --versionSeparate the profile from the installation
A package can exist in node_modules without being registered in dsh.profile.bundles, and a registered bundle can still fail while the profile composes. Check the profile manifest first; if the tree can dump, inspect the resolved configuration next.
dsh --profile web --dump-configUse a clean home as a diagnostic control
A new, disposable DSH home distinguishes a machine-level runtime problem from corruption or composition in the existing home. It does not repair or migrate the original profile; it only creates a comparison point.
DSH_HOME=/tmp/dsh-clean-home npx -y @deepseek-ai/dsh@0.1.0-rc.8 webReduce interactions only after the failure is stable
If every plugin works in isolation but a combination breaks the profile, removing one plugin at a time can miss the interaction. The external dsh-plugin-reducer tests subsets in shadow homes and returns a 1-minimal failure-inducing set.
DeepSeek Harness is in developer preview. Recheck official documentation and plugin evidence when the host version changes.
Sources and evidence
Official documentation and community evidence are labeled separately in the source pages and in this article.