asdf CLI
The version manager selects runtimes from project settings so agents run tools in an agreed development environment.
- 25,614 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The manager installs executable runtimes through plugins and changes shell command selection.
Install
The author does not provide a one-line install. Open the repository and follow the README.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The manager installs executable runtimes through plugins and changes shell command selection.
This is third-party code. Review the repository files before installing.
What it does
asdf manages language runtime versions through one CLI and plugins. Users record versions in .tool-versions, which an agent can inspect before running a project. Directory changes select the relevant environment, supporting projects with different requirements. Node.js, Ruby, Python and other tools use their respective plugins. Defaults are separate from project settings, and supported legacy version files can ease migration. Shell completion supports interactive use.
Who it is for. Maintainers of multi-language repositories aligning tool versions across people and agents.
Good fit when
- Two projects need different versions of one language.
- An agent must verify repository tool versions before running work.
- A team wants one project file listing runtime versions.
- Migration from a dedicated manager needs verification of legacy-file support.
Not a fit when
- You need process isolation from operating-system files and networks.
- The required tool has no suitable trusted plugin.
- You need application dependency management rather than runtime version selection.
Example request
Read the project’s .tool-versions file and list required plugins and missing versions before installing anything.Limitations
Installing asdf does not install every language; plugins and runtime versions are separate steps. Version selection requires the shim directory to be configured on PATH, or the shell may run another installed executable. Legacy version-file support depends on the plugin, so test migration on one project. Plugins perform installation work with user permissions and require trust in their source and downloaded toolchain.
How to disable. Remove asdf integration from shell configuration and verify which executables PATH now selects. Remove installed runtimes and plugins separately.
FAQ
Which file stores project versions?
`.tool-versions`, which can be kept with the source.
Does changing directory select a different version?
Yes, with correct shell integration asdf follows project settings.
Will all languages be installed with the manager?
No. Add the required plugins and versions separately.
Can I retain an existing .nvmrc?
Legacy-file support exists, but verify it for the selected plugin.
Why does the system interpreter run?
Check PATH order and asdf shim integration.
Discussion
No questions or reviews yet.
Related
CLI toolsThe CLI selects a project’s package manager and forwards short install and run commands to reduce confusion in agent workflows.
A configurator that reads your repo and sets up agents, skills, MCP servers and rules for its stack across several assistants
APM
APM (Agent Package Manager)
A package manager for AI agent context: skills, prompts and MCP servers install with one command across supported agents
A plugin marketplace and installer for the full dev loop: task selection, review, cleanup, PRs and releases
A set of 116 skills, 44 agents and safety hooks for Claude Code, Cursor, Codex, Gemini CLI and nine more editors
A CLI that wires a research-to-delivery pipeline with documents and quality gates into Claude Code, Cursor, Codex and other agents
README in short
Several shells have completion support, with shared defaults in one configuration. The plugin list is separate from the core.