Troubleshooting
Fix common dsh errors
Every fix below comes from actually running dsh 0.1.0-rc.6 — not from reading docs. Each entry shows the exact error message, why it happens, and the one-line fix.
Install & environment
ERR_PNPM_FETCH_404 — package not found
Your npm registry mirror lags behind the official one, so a just-published package returns 404.
dsh plugin add <package> --registry=https://registry.npmjs.org 'pnpm' is not recognized
dsh plugin forwards to pnpm, which isn't installed.
npm install -g pnpm node: command not found
The dsh launcher needs Node.js on your PATH. Add your Node folder (and npm global bin) to PATH. Find them with npm prefix -g.
Port 3080 already in use
A stale dsh process holds the port — the page even loads normally but talks to the old instance, so config changes never appear.
dsh web --port 8080 Kill the old process first, or use a fresh port.
Credentials & models
MISSING_CREDENTIAL
No API key is stored. Set it in Settings → Models, or in ~/.dsh/.credentials.yaml:
DEEPSEEK_API_KEY: sk-your-key-here UNKNOWN_MODEL
You picked a model that isn't configured. Add it to your provider, or select a configured model.
"Get available models" returns 401
The key is wrong — model discovery calls the OpenAI-compatible GET /models endpoint. The three settings (base URL, key, model name) must all match.
Plugins (verified in the field)
Plugin installs but doesn't activate
The package has no dsh.bundle manifest. Without it, dsh plugin add installs it as a plain dependency — never loaded. The plugin must ship a cordis.patch.yml and declare dsh.bundle.patch in its package.json.
ERR_REQUIRE_ESM when a plugin loads
The plugin was compiled to CommonJS but depends on ESM-only packages like @deepseek-ai/dsh-tools. The plugin must be built as ESM ("type": "module").
cannot get property "systemPrompt" without inject
Plugin code calls ctx.systemPrompt without declaring inject: ["systemPrompt"]. It's a plugin bug — report it to the author with this exact message.
allowBuilds prompt for git-hosted plugins
A plugin installed from GitHub ships a prepare build script, which pnpm blocks by default. Add the key pnpm prints to allowBuilds in pnpm-workspace.yaml, then re-run.
Dependency "@deepseek-ai/dsh-type-meta" not found
A plugin depends on a package that isn't published to npm yet. Nothing you can do client-side — the author must publish it first.
Runtime
Web UI send button stays disabled
The web profile requires a workspace before sending. Click Choose workspace and select a directory.
Skills work in the CLI but not the web UI
The web profile ships with tool-skill and skill-filesystem disabled; the headless/CLI profile has them on. Same skill works in one, silently does nothing in the other.
Still stuck? Check the install guide, the plugin guide, or the tutorial.