DeepSeek Harness Plugin Fails to Load: Missing dsh-sdk-protocol and Platform Binary Warnings
After installing @deepseek-ai/dsh-subagent-codex, running dsh web exits immediately with an error: Cannot find package '@deepseek-ai/dsh-sdk-protocol'. The plugin’s own node_modules doesn’t include it, and DSH won’t pull it in automatically.
The Error: Plugin Loader Crashes During cordis:include
The stack trace points to dsh-app-boot while building the plugin tree:
Error: dsh: plugin tree failed to load: failed to apply loader entry include (cordis:include): failed to import loader entry subagent-codex (@deepseek-ai/dsh-subagent-codex): Cannot find package '@deepseek-ai/dsh-sdk-protocol' imported from C:\Users\reanod\.dsh\profiles\web\node_modules\@deepseek-ai\dsh-subagent-codex\lib\index.js
The critical path is .../dsh-subagent-codex/lib/index.js. That file contains an import statement referencing @deepseek-ai/dsh-sdk-protocol, but Node.js cannot locate it in the node_modules tree.
The plugin’s package.json likely lists @deepseek-ai/dsh-sdk-protocol as a peerDependency or devDependency instead of a regular dependency. During installation, package managers don’t automatically install peer dependencies in many setups. Since DSH isolates each profile’s node_modules, a globally installed version won’t help either.
Manual Installation Triggers a Flood of Platform‑Specific Binary Warnings
After navigating to the failing profile directory and manually installing the missing package:
cd C:\Users\reanod\.dsh\profiles\web
pnpm add @deepseek-ai/dsh-sdk-protocol
The log shows:
dependencies:
+ @deepseek-ai/dsh-sdk-protocol 0.0.1-rc.1
But immediately after, a long list of warnings appears for @anthropic-ai/claude-agent-sdk-* platform binaries:
[WARN] GET https://registry.npmmirror.com/@anthropic-ai/claude-agent-sdk-linux-x64-musl/-/claude-agent-sdk-linux-x64-musl-0.3.220.tgz error (23). Will retry in 10 seconds. 2 retries left.
[WARN] GET https://registry.npmmirror.com/@anthropic-ai/claude-agent-sdk-linux-arm64/-/claude-agent-sdk-linux-arm64-0.3.220.tgz error (23). Will retry in 10 seconds. 2 retries left.
[WARN] GET https://registry.npmmirror.com/@anthropic-ai/claude-agent-sdk-win32-arm64/-/claude-agent-sdk-win32-arm64-0.3.220.tgz error (23). Will retry in 10 seconds. 2 retries left.
These retries continue, escalating from 10 seconds to 1 minute, but eventually the log shows Done in 1.6s using pnpm v11.22.0 – the installation finishes.
Two Different Problem Types: One Fatal, One Not
The missing dsh-sdk-protocol is fatal. DSH loads the plugin tree at startup, and dsh-subagent-codex/index.js needs the package to provide type definitions or runtime helpers. Without it, Node.js throws ERR_MODULE_NOT_FOUND and the entire process exits. That’s why dsh web fails to start.
The platform‑binary download warnings are non‑fatal. These binaries belong to @anthropic-ai/claude-agent-sdk, which is a dependency of @deepseek-ai/dsh-subagent-claude-code (if you also installed that sub‑agent) or is pulled in indirectly by dsh-subagent-codex. The package manager attempts to download pre‑built binaries for every platform (linux-x64, darwin-arm64, win32-arm64, etc.) but only the one matching your current system is actually used.
The user’s system is Windows x64. Among the listed platforms, only win32-x64 is required. The log shows warnings for win32-arm64 – that binary isn’t needed. All Linux and macOS binaries are irrelevant and can safely fail to download.
Why the Mirror Triggers These Downloads
The installation log uses https://registry.npmmirror.com (the Taobao npm mirror). When fetching packages that ship with platform‑specific binaries, two things can happen:
-
The mirror may not have synced the full set of platform packages, returning 404 or connection errors (error code 23 typically indicates download failure). -
pnpm, by default, attempts to download all optional platform packages, even though most won’t be used on the current system.
That’s why the installation still finishes with Done – the only binary that actually matters for the current platform (Windows x64) was either already cached or successfully downloaded, and the rest are treated as optional.
What to Do Next
After installing dsh-sdk-protocol, dsh web should start normally. The Done message at the end of the log indicates the installation completed successfully, not that it failed.
If the sub‑agent functionality still doesn’t work after startup, check whether the required CLI tools are available in your system PATH:
codex --version
claude --version
The sub‑agent plugins only register a callable entry like subagent({ backend: "codex" }) inside DSH workflows. Actual execution depends on the external CLI being installed and accessible. Loading the plugin successfully doesn’t guarantee the sub‑agent can run.
If network issues or repeated retries slow down the installation, you can temporarily switch to the official npm registry:
pnpm config set registry https://registry.npmjs.org/
Then re‑add the plugin. Alternatively, remove the Claude Code sub‑agent if you don’t need it – that cuts down optional binary downloads:
dsh plugin --profile web remove @deepseek-ai/dsh-subagent-claude-code
Checklist
-
[ ] After seeing the dsh-sdk-protocolerror, go to the profile directory and manually install it:cd ~/.dsh/profiles/web && pnpm add @deepseek-ai/dsh-sdk-protocol -
[ ] Rerun dsh weband verify that the service starts without the module‑not‑found error. -
[ ] If you still see @anthropic-ai/claude-agent-sdk-*warnings, confirm that your platform (Windows x64) binary isn’t blocked; ignore the rest. -
[ ] To clean up these warnings, either remove the Claude Code sub‑agent or switch the registry to the official npm source. -
[ ] Remember that sub‑agent features require external CLIs – installing the plugin alone is not enough.
FAQ
Q: What is dsh-sdk-protocol?
A: It’s the protocol definition package that DSH sub‑agents use to communicate with the main framework. Both dsh-subagent-codex and dsh-subagent-claude-code depend on it for registration and invocation.
Q: Why didn’t dsh plugin add install this dependency automatically?
A: The package is likely declared as a peerDependency rather than a dependency, so package managers don’t fetch it by default. You need to install it manually.
Q: Can I ignore the warnings about @anthropic-ai/claude-agent-sdk-*?
A: Yes. Those are optional platform binaries. Your system only needs the one matching its architecture; failures for other platforms are harmless warnings and won’t prevent DSH from starting.
Q: What does error code 23 mean?
A: It’s a network error reported by pnpm during download, commonly caused by a mirror missing the file or a temporary connection issue.
Q: I installed dsh-sdk-protocol but dsh web still fails. What now?
A: Check for other missing dependencies, or try pnpm install --force to rebuild all packages in the profile. If the problem persists, remove all sub‑agent plugins first, confirm that the base DSH works, then add them back one by one to isolate the culprit.
Q: Is Node.js v25 safe to use?
A: DSH officially recommends Node.js v22 LTS. Node v25 is still early and may introduce compatibility issues. If you encounter other module‑loading errors, downgrade to v22 and retry.

