Need help with asdf?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

10.7K Stars 422 Forks MIT License 1.4K Commits 107 Opened issues


Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

Services available


Need anything else?

Contributors list

asdf Main workflow

Manage multiple runtime versions with a single CLI tool, extendable via plugins - docs at

asdf is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like

(and more) all in one! Simply install your language's plugin!

Why use asdf?

  • single CLI for multiple languages
  • consistent commands to manage all your languages
  • single global config keeping defaults in one place
  • single
    config file per project
  • support for existing config files
    for easy migration
  • automatically switches runtime versions as you traverse your directories
  • simple plugin system to add support for your language of choice
  • shell completion available for common shells (Bash, Zsh, Fish)


Please head over to the documentation site for more information!


See in the repo or the Contributing section on the docs site.

Community & Questions

  • GitHub Issues GitHub Issues: report a bug or raise a feature request to the
    core team
  • GitHub Discussions GitHub Discussions: our preferred method for community Q&A and interaction
  • StackOverflow Tag StackOverflow Tag: see existing Q&A for
    . Some of the core team watch this tag in addition to our helpful community

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.