Recognize the exact failure

The reported stack names dsh-storage-json, workspace.json, rename, and EXDEV beneath “plugin tree failed to load.” If your deepest cause names another file or code, use the broader plugin-tree guide instead.

Reported error shape
EXDEV: cross-device link not permitted, rename '<temp>' -> '<DSH_HOME>/storages/workspace.json'

Why a same-directory rename can still look cross-device

The community diagnosis notes that the temporary file is created beside the target. A junction, symlink, Known Folder or OneDrive redirection, or security software can make the displayed path differ from the physical operation seen by Windows. This remains a diagnosis in an unanswered discussion, not a confirmed product root cause.

Inspect reparse points without changing data

Run read-only checks first. Replace the example user path with the DSH home shown in your own stack.

Command Prompt and PowerShell checks
dir "C:\Users\<you>" /AL
fsutil reparsepoint query "C:\Users\<you>\.dsh"
(Get-Item "C:\Users\<you>\.dsh\storages").Target

Test an unredirected clean DSH home

Create a temporary comparison home on a local NTFS path that is not under a junction or synced folder. If the clean profile boots, the path environment is implicated; your original data remains untouched.

PowerShell diagnostic control
$env:DSH_HOME = 'C:\dsh-clean-home'
npx -y @deepseek-ai/dsh@0.1.0-rc.8 web

What to report upstream

Include the complete nested stack, DSH and Node versions, whether any path component is a reparse point, the physical target reported by PowerShell, and whether a clean unredirected DSH home boots. Avoid posting usernames, enterprise paths, or security-product details you cannot share.

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.