Dist-tags on npm do not mean 'the recommended stable one'. They are three pointers to three version numbers. Measured:
| Channel | Resolves to | Published | Good for |
|---|---|---|---|
| latest | 0.2.2-rc.1 | 2026-11-04 | Anyone installing by default. Needs node >=24.9.0 |
| next | 0.2.2-rc.3 | 2026-11-13 | The newest fixes, accepting that it will move again |
| alpha | 0.2.2-alpha.3 | 2026-11-03 | Following development. Alpha usually lands earlier and is less stable than rc |
One counter-intuitive point: the alpha channel points to an older version number than rc — alpha.3 shipped on 11-03, rc.1 on 11-04. So 'alpha is newer than rc' is not true in time. Do not read the channel names literally.
Installing a specific channel
npm i -g @deepseek-ai/dsh # latest npm i -g @deepseek-ai/dsh@next # next npm i -g @deepseek-ai/[email protected] # pin an exact version
For anything you want reproducible, or when asking someone to reproduce your problem, use the exact version, not the channel name. Channels move; version numbers do not.
Checking where a channel points
npm view @deepseek-ai/dsh dist-tags npm view @deepseek-ai/dsh versions --json | tail -20
The second lists recent releases. To see which node a specific version wants:
npm view @deepseek-ai/[email protected] engines