Define the failure before changing plugins

Choose one deterministic probe: a profile config dump, Web startup, or a small capability call. Record the exact DSH, Node, platform, profile, bundle versions, and expected result. A moving symptom cannot be reduced reliably.

Capture a reproducible baseline
node -v
dsh --version
dsh --profile web --dump-config

Distinguish installation, boot, and interaction failures

These failure classes need different evidence. Do not call a missing bundle row a runtime incompatibility, and do not blame one plugin when the failure appears only in a combination.

QuestionEvidenceNext step
Did the package land?Profile dependencies contain the package.Inspect package resolution and install output.
Did DSH register it?dsh.profile.bundles contains the expected entry.Fix the bundle manifest or published command.
Does the profile boot?The chosen startup or dump probe passes.Run the smallest capability smoke test.
Does it work alone?A clean profile with only this bundle passes.Compare against the full profile.
Is it a combination conflict?Individual controls pass; a named set fails.Reduce the failure-inducing set.

Use fresh profiles as controls

Test the suspected plugin alone in a disposable DSH home, then test the known-good baseline, and finally the full bundle set. Preserve the original profile untouched so every comparison has the same package versions and input.

Why disabling one plugin at a time can miss the cause

When A and B each pass alone but A+B fails, removing A makes B pass and removing B makes A pass. A linear one-at-a-time test can therefore mislabel either plugin or conclude that nothing is wrong. Subset and complement testing is designed for this interaction shape.

Use dsh-plugin-reducer for a stable combination failure

The unofficial external reducer creates shadow DSH homes, reuses installed packages, tests subsets and complements, and reports a 1-minimal failure-inducing set. Pin the prerelease and inspect its safety boundary before running it.

Run the pinned external reducer
npm install --global dsh-plugin-reducer@0.3.1
dsh-plugin-reducer --profile web --probe web --report reducer-report.json

Report the result as evidence, not a verdict on intent

A useful report names the failing set, the tested probe, controls that passed, versions, platform, profile fingerprint, and whether removing each member cleared the symptom. It does not claim that every member is independently defective or malicious.

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.