asdf-vm/asdf · error
command removed
Error message
command removed
What it means
The `asdf update` command was removed from this version of asdf; invoking it prints an explanatory notice and returns this sentinel error so the CLI exits non-zero. It is an intentional hard stop, not a malfunction.
Source
Thrown at internal/cli/cli.go:335
Action: func(_ context.Context, cmd *cli.Command) error {
args := cmd.Args()
return shimVersionsCommand(logger, args.Get(0))
},
},
{
Name: "uninstall",
Action: func(_ context.Context, cmd *cli.Command) error {
tool := cmd.Args().Get(0)
version := cmd.Args().Get(1)
return uninstallCommand(logger, tool, version)
},
},
{
Name: "update",
Action: func(_ context.Context, _ *cli.Command) error {
fmt.Println(updateCommandRemovedText)
return errors.New("command removed")
},
},
{
Name: "where",
Action: func(_ context.Context, cmd *cli.Command) error {
tool := cmd.Args().Get(0)
version := cmd.Args().Get(1)
return whereCommand(logger, tool, version)
},
},
{
Name: "which",
Action: func(_ context.Context, cmd *cli.Command) error {
tool := cmd.Args().Get(0)
return whichCommand(logger, tool)
},View on GitHub (pinned to 074a1722ca)
Solutions
- Stop using `asdf update`; update asdf via your package manager (brew upgrade asdf, apt, etc.) or by reinstalling from the official release
- Remove or replace `asdf update` calls in shell rc files, scripts, and CI configs
- Check `asdf --help` for the current command surface if you need a related action
Example fix
// before asdf update // after brew upgrade asdf # or your platform's package manager / git pull in ~/.asdf
Defensive patterns
Strategy: fallback
Validate before calling
// guard before calling in scripts if asdf --help 2>/dev/null | grep -q '^ update'; then asdf update else echo 'asdf update removed; use your package manager' >&2 fi
Try / catch
// shell: tolerate the removal if ! asdf update 2>/dev/null; then echo "update skipped: command removed" >&2 fi
Prevention
- Never call `asdf update` in new scripts; use the package manager
- Audit shell rc files and CI configs for legacy asdf update calls
- Pin asdf versions in CI and update deliberately
When it happens
Trigger: Running `asdf update` (or any invocation routed to the 'update' command) in a version of asdf where the self-update command has been removed.
Common situations: Scripts, CI pipelines, or shell aliases written for older asdf versions that auto-update the tool; users migrating from asdf 0.15-and-earlier workflows where `asdf update` existed.
Related errors
- bad shell name
- no plugin name specified
- must provide command
- command not found
- no executable for tool version
AI-assisted analysis of asdf-vm/asdf@074a1722ca (2026-08-30).
Data as JSON: /api/errors/e546de45b11719c6.
Report an issue: GitHub.