Skip to main content
All posts
Tutorial

DeepSeek Harness Troubleshooting: 12 Common Errors

Twelve real DeepSeek Harness errors from GitHub Discussions, with root cause, fix, and a link to the thread, covering Windows, Linux, and config bugs.

DeepSeek Harness (dsh) has no public issue tracker — GitHub Issues are disabled on the official repository, and the README points users to GitHub Discussions instead. That means the most reliable record of real-world problems and fixes lives in Discussions threads, not a curated FAQ. Below are twelve issues pulled directly from those threads, with what actually causes each one and how it was resolved.

Why this list looks the way it does

gh issue list against deepseek-ai/deepseek-harness returns "the repository has disabled issues" — the API confirms has_issues: false. The project's only official feedback channels are GitHub Discussions (across Q&A, General, Ideas, and Show Your Plugins! categories) and a Discord community linked from the README. If you hit something not covered here, Discussions is the place to search or ask, not Issues.

The 12 errors

#SymptomRoot causeFixSource
1npx @deepseek-ai/dsh web fails on Arch Linux, plugin tree fails to load, error points to node-ptynpm doesn't trust node-pty's install script to run its own compile stepSwitch to bun add --global @deepseek-ai/dsh (bun trusts it by default), or manually npm install -g node-pty and clear ~/.npm/_npx before retryingDiscussion #49
2dsh web --host 0.0.0.0 errors outNot a bug — the docs state this is "intentionally not supported yet for safety," since it would expose remote code execution to the networkUse 127.0.0.1 (the default); if you need remote access, put it behind your own authenticated reverse proxy or tunnel rather than binding to all interfacesDiscussion #76
3Global install (pnpm add -g @deepseek-ai/dsh) crashes on dsh --profile headless --help with Cannot find package '@deepseek-ai/cordis-plugin-timer'Reproduced on Windows 11 + Node 24 + pnpm 11.9; points to a dependency-tree resolution gapCommunity reports it as resolved in later installs, but no public patch details were confirmed at the time of this writing — if you hit this, try a clean reinstall with a current pnpm version firstDiscussion #55
4Windows: "add workspace" fails with directory picker failed: win32 folder dialog worker exited before reporting a resultThe native directory picker depends on the koffi native binding, which fails to install(1) Reinstall with npm i -g @deepseek-ai/dsh --ignore-scripts --registry=https://registry.npmjs.org to skip the script that crashes; (2) edit ~/.dsh/profiles/web/cordis.patch.yml to disable the native/auto directory picker and insert directory-picker-browse plus its client UI package insteadDiscussion #30
5npx @deepseek-ai/dsh web fails with The requested module 'node:zlib' does not provide an export named 'createZstdDecompress'Node version too old (createZstdDecompress needs Node ≥22.15; dsh targets 22.19+/24+)Upgrade Node to a supported versionDiscussion #100
6dsh prints failed to load .env: EISDIR on every startupA directory (not a file) named .env exists in the working directory; two separate .env-loading code paths read the path without first checking it's a regular fileOfficially acknowledged as a bug with a known reproduction commit; rename or remove the .env directory as a workaround until it's patchedDiscussion #71
7pnpm run build from source fails with [ELIFECYCLE] Command failed with exit code 1The build script internally mixes npm run and pnpm calls, which conflicts with the pnpm-only workflow the README describesNo other package manager is officially supported — stick to pnpm end to end rather than mixing npm and pnpm invocationsDiscussion #86
8A custom vision model (Claude/GPT-family) can't process images — "image not recognized"The custom provider's model entry in settings.yaml doesn't declare input: [text, image]; undeclared models are treated as text-only and attachments are rejected before the request is even sentAdd the input field to the model definition (or use modelOverrides for a built-in-directory provider)Discussion #112
9"I want long-term memory"dsh has no built-in memory capability — this is the most-discussed open Idea in the repoThere's no official fix; the community path is a third-party MCP memory server (see the official examples/mcp-memory/ reference configs) or a memory-focused pluginDiscussion #14
10First GitHub-sourced plugin install fails immediately with a build-permission errorpnpm 10+ blocks prepare scripts on git dependencies by defaultAdd the package to allowBuilds: true in the profile's pnpm-workspace.yaml — see our dedicated GitHub install guide for the full walkthroughapps/cli/reference/README.md, "Plugin management"
11An archived session can't be viewed or restoredNo documented design for restoring archived sessions was found in the official docs at the time of this reportTreat archiving as effectively final until the docs say otherwise; don't rely on it as a recoverable stateDiscussion #40
12Chinese-language workspace paths get truncated or aren't supported when selecting a workspace on WindowsTwo independent reports of Windows-specific path-handling bugs with non-ASCII (Chinese) path namesNo official fix confirmed as of this writing; avoid non-ASCII characters in your workspace path on Windows if you hit thisDiscussion #47, Discussion #107

The two you're most likely to hit

#2 (host 0.0.0.0) and #10 (allowBuilds) come up constantly because they're not really bugs — they're deliberate friction. The --host 0.0.0.0 restriction exists because dsh's Web UI, once reachable from the network, is remote code execution as a service; there's no config flag that safely bypasses this, only proper network isolation (a reverse proxy with its own auth, a VPN, an SSH tunnel) in front of it. The allowBuilds prompt exists because installing a plugin runs code on your machine, and pnpm 10+ won't do that silently. If you're running dsh in a team setting, both of these are worth reading about in more depth in our guide to running DeepSeek Harness in a team.

When the fix isn't here

This list draws specifically from dsh-tutorial-facts research current as of August 2026. Because dsh is in active developer preview with frequent releases and no formal changelog, new issues surface (and old ones get fixed) faster than any single article can track. If your error isn't above:

  1. Search GitHub Discussions directly — it's the actual source these fixes came from.
  2. Check whether it's specifically a plugin installation problem rather than a runtime one — see our narrower plugin install errors and fixes guide, which covers pnpm-not-found, allowBuilds, and missing build output in more depth.
  3. Run dsh --profile <name> --dump-config to rule out a misconfigured patch layer before assuming it's a dsh bug.

FAQ

Where do I actually report a new bug?

GitHub Discussions, not Issues — Issues are disabled on the official repository (has_issues: false). The README also links a Discord community as a secondary channel.

Is dsh's version stable enough that these fixes stay accurate?

dsh is explicitly in developer preview with no SemVer promise and no GitHub Releases; the README states plainly that there will be compatibility-breaking changes. Treat every fix above as accurate as of August 2026 and verify against current Discussions if you're on a much newer release.

Why does .env as a directory break dsh (#6)?

Two separate code paths that load .env files don't check whether the path is a regular file before reading it, so a directory accidentally named .env triggers a Node EISDIR error. It's an acknowledged bug with a known reproduction, not user error.

Is there an official Windows-specific setup guide?

Not a single consolidated one from the vendor — the Windows-specific issues above (directory picker, Chinese paths, headless crash) all came from separate Discussions threads rather than one troubleshooting page.

What's the difference between this article and the plugin install errors guide?

This one covers dsh itself — startup, environment, and platform issues. Plugin install errors and fixes is narrowly scoped to failures specifically inside dsh plugin add, update, and remove.

Next steps

For plugin-specific installation failures, see DeepSeek Harness plugin install errors and fixes. For the GitHub install path specifically, installing plugins from GitHub covers allowBuilds in depth. If you're setting dsh up for a team rather than yourself, running DeepSeek Harness in a team covers the --host restriction and sandbox/telemetry configuration that matters at that scale.