Fixing mise shims not working in VS Code on Ubuntu: avoid the Snap build

2025/12/22

Fixing mise shims not working in VS Code on Ubuntu: avoid the Snap build

TL;DR

If mise shims work in your normal terminal but not in the VS Code integrated terminal on Ubuntu (especially with zsh), the fastest fix may be:

After switching from Snap to .deb, the integrated terminal typically behaves like a standard shell session and mise shims resolve correctly.


The symptom

You have mise set up and working fine in a regular terminal:

But inside VS Code → Terminal, one or more of the following happens:


Why this happens (in practice)

On Ubuntu, the Snap build of VS Code runs inside Snap confinement. That confinement can affect:

The net effect: even with correct mise setup, the VS Code integrated terminal may not see the same environment as your regular terminal session, so shims fail to resolve.


The fix: install VS Code via .deb instead of Snap

1) Remove the Snap build

sudo snap remove code

1) Remove the Snap build

sudo snap remove code

2) Install the official .deb package

Download the .deb for your architecture from the official Visual Studio Code site:

Then install it:

sudo apt install ./code_*.deb

(Use the exact filename you downloaded.)

3) Reopen VS Code and re-check the terminal

Open a new integrated terminal and verify that shims are on PATH:

echo "$PATH" | tr ':' '\n' | head -n 20
command -v mise
command -v node python ruby go 2>/dev/null || true

You should see ~/.local/share/mise/shims early in the output, and tool lookups should resolve through mise again.


Notes and tips


Conclusion

This was a classic “everything is configured correctly, but the environment differs” situation. In my case, the root cause wasn’t mise or zsh at all—it was the Snap packaging of VS Code. Switching to the official .deb build immediately restored normal PATH/shim behavior and made mise work in the integrated terminal as expected.


More Posts