asdf-vm / asdf-vm/asdf

Add option to stop shimming packages installed with tools managed by asdf

Open
#2,138 3 comments 10 reactions 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
25.6k
Forks
941
Avg merge
9h 24m
Merged PRs (30d)
3

Description

### Is your feature request related to a problem? Please describe

With asdf v0.14, I don't believe asdf shimmed executables that I did not explicitly tell it to shim. Now, asdf v0.18 is automatically shimming packages installed by go, npm, etc. This has created a headache for me as I had specific tools on my path which were generated by specific versions of go, node, etc. I specifically want to use a single tool version's package globally, for everything. The auto-shimming behavior of asdf v0.18 breaks this.

See related issues that could also be resolved by providing an option to restore the old behavior:
- https://asdf-vm.com/more/faq.html#why-is-a-command-completely-unrelated-to-the-plugins-i-m-using-is-getting-shimmed-by-asdf
- https://github.com/asdf-vm/asdf/issues/584
- https://github.com/asdf-vm/asdf/issues/1955

EDIT: this may not be related to asdf v0.18 vs v0.14..., I am seeing python packages are shimmed by asdf v0.14. Maybe this is related to the plugins? I am not seeing go or npm packages being shimmed by v0.14

### Describe the proposed solution

I would like to see some config option to restore the asdf v0.14 behavior and stop shimming packages installed by tools managed by asdf.

### Describe similar `asdf` features and why they are not sufficient
N/A

### Describe other workarounds you've considered

I have to delete the shims and copy the executables I want to use globally out to shared bin folders like `~/.local/bin`

Contributor guide

Open the contributing guide

Research direction

The issue names no source files, tests, or entry points. Start by locating asdf's shim-generation and configuration entry points, then trace how packages from Go, npm, and Python tools are discovered. Done means a documented option can restore the older non-auto-shimming behavior, with tests covering the configuration and resulting shim set.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, node.js, python
Domain
cli, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.