Update All DSH plugins: dsh plugin update DeepSeek Harness
Bulk-update DSH plugins with a single command dsh plugin --profile web update — no package name updates the whole current profile, a package name updates just one.
Overview
Plugin upgrades go through dsh plugin --profile web update, which forwards its arguments to pnpm inside the profile. Back up and check compatibility before a bulk update; if you prefer no CLI, upgrade one-click from the DSH Plugin Hub plugin center. This article walks through the command, the bulk-update flow, and the strategy, and ends with a verification checklist — follow it and you won't break your plugin environment in a preview release.
How to use dsh plugin update
update shares the same syntax as add and upgrades the plugin dependencies of a profile. dsh plugin is the unified entry for profile plugin management, and arguments are forwarded to pnpm in the profile directory (source):
dsh plugin --profile web update # update all plugins in the web profile
dsh plugin --profile web update <package-name> # update a single plugin
dsh web is an alias for --profile web, so this is exactly the profile the Web UI loads its plugins from; if you also run the headless profile, update its plugins separately with dsh plugin --profile headless update. To see why a plugin is installed and who depends on it, use dsh plugin --profile web why <package> (source).
A few details worth noting:
updatewithout a package name is not "latest" — it upgrades according to the declared dependency range in the profile, and pnpm resolves and installs the newest version allowed by that range rather than force-installinglatest. To see exactly which versions are installed, runpnpm listin the profile directory.- With a package name, use the npm package name (e.g.
dsh-plugin), not the display name or the Hub slug; the install source on the plugin detail page shows it. - An update only touches the current profile —
--profile weband--profile headlessare two independent plugin sets, so one command never updates both. - A failed update may leave the profile in a partial state — pnpm reports it in the output, so read the last lines before assuming anything; a failed update is usually recoverable by running the update again or reinstalling the affected plugin.
How to bulk-update all DSH plugins
To update every plugin in the current profile at once, just run update without a package name. The command upgrades all declared plugin dependencies in one go:
- Back up the session data under
~/.dsh/sessionsfirst so you can restore if something breaks. - Run
dsh plugin --profile web updateand let it finish naturally — do not hit Ctrl+C mid-run; pnpm is rewriting the dependency tree and an interruption can leave a half-installed state. - Restart
dsh webafter the update and confirm plugin capabilities still work. - Preview releases can break plugin dependencies, so run your main flows one by one after a bulk update.
Prefer not to type commands? With DSH Plugin Hub installed, open Settings → Plugin Center: the catalog flags new versions automatically and updates with one click, and most plugins take effect on refresh. DSH Plugin Hub is the community plugin marketplace with 4,401 human-curated plugins synced daily, and every success or failure lands in the notification center.
If a bulk update stops partway with an error, don't restart mid-fix: note which plugin the error names, finish or roll back the current operation first, then handle that one plugin individually. In preview releases it is common for a single plugin to be incompatible while the rest update fine — updating it alone afterwards, or pinning it to its previous version, avoids re-running the whole batch.
Strategy for bulk-updating DSH plugins
The bulk-update strategy comes down to three things: back up first, verify in batches, and keep a rollback path. Concretely:
- Back up:
~/.dsh/sessionsholds all session records — copy it before updating. - Check compatibility: every plugin detail page declares the compatible DSH version (currently preview
0.1.0-rc.6); a mismatch can fail silently, so check before upgrading. - Verify after: restart
dsh weband run your main flows; if a plugin stops loading, see DSH troubleshooting. - Keep a rollback path: if an update fails, see Fix DeepSeek Harness Update Failure.
Also bring the DSH core up to date before a bulk update — plugin dependency declarations can be incompatible between preview versions, and an outdated core makes plugin upgrades fail more often. The suggested order is core first, plugins second, one category at a time so issues are easy to locate. If one plugin keeps misbehaving after an update, don't fight it: check whether its detail page lists npm or GitHub as the source — GitHub-sourced packages often miss build output, and switching to the npm-published version usually fixes it in one step (see the update-failure article for related troubleshooting).
Network errors like ETIMEDOUT or ECONNRESET during an update usually mean the npm official registry or GitHub cannot be pulled — switch to a mirror or configure a proxy and retry, as covered in Speed up DSH plugin downloads with a mirror or proxy. If a plugin fails to load after the update (for example a missing entry file), see Fix DeepSeek Harness Install Errors. Preview releases iterate fast, so avoid batch updates while a big task is running: updating requires a dsh web restart, and interrupting your workflow is worse than picking a quiet moment to update everything at once.
Source: dsh CLI README, official Quickstart, dshplugin/dsh-plugin-hub
FAQ
Run dsh plugin --profile web update with no package name — it upgrades every plugin dependency in the current profile, forwarding the arguments to pnpm.
Add the package name after update, e.g. dsh plugin --profile web update <package-name>, to upgrade only that plugin and leave the rest untouched.
Back up the session data under ~/.dsh/sessions first, then check each plugin's compatible DSH version on its detail page. Preview releases can break plugin dependencies, so run your main flows after.
Yes. With DSH Plugin Hub installed, the Settings → Plugin Center flags new versions and updates with one click, all inside the app.
Make sure the DSH core is up to date and re-check the plugin's compatible version; otherwise see the plugin-not-loading section of DSH troubleshooting.
Sources
- dsh CLI README· deepseek-ai
- DeepSeek Harness documentation - Quickstart· deepseek-harness
- dshplugin/dsh-plugin-hub· dshplugin