{"slug": "asdf", "name": "asdf", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 4, "commenters": 6, "warners": 0, "score": 3.977, "rising": -1.31, "first": "2025-11-12", "latest": "2026-06-16", "why": "I switched from brew to https://asdf-vm.com/ for this very reason.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 2, "compare": 0, "warn": 0}, "spark": [1, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I switched from brew to https://asdf-vm.com/ for this very reason.", "icon": false, "domain": "asdf-vm.com", "github_repo": null, "official_url": "https://asdf-vm.com", "pricing": "", "aliases": ["asdf", "ASDF"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 776834370, "item_id": 48552148, "url": "https://news.ycombinator.com/item?id=48552148", "by": "InvertedRhodium", "date": "2026-06-16", "stance": "recommend", "quote": "We use direnv with asdf to ensure everyone is in the same version now.", "excerpt": "One person upgrading terraform can break the state format for backwards compatibility. We use direnv with asdf to ensure everyone is in the same version now.", "context": "", "use_case": "pinning tool versions", "switched_from": "", "story": "What job interviews taught me about Kubernetes"}, {"id": 776017552, "item_id": 48501097, "url": "https://news.ycombinator.com/item?id=48501097", "by": "midenginedcoupe", "date": "2026-06-12", "stance": "recommend", "quote": "I switched from brew to https://asdf-vm.com/ for this very reason.", "excerpt": "I switched from brew to https://asdf-vm.com/ for this very reason. I don't understand how devs don't use a tool that makes multiple versions of everything possible.", "context": "", "use_case": "multiple version management", "switched_from": "Homebrew", "story": "Homebrew 6.0.0"}, {"id": 743808432, "item_id": 46488027, "url": "https://news.ycombinator.com/item?id=46488027", "by": "hesyiah", "date": "2026-01-04", "stance": "recommend", "quote": "I highly recommend using a .tool-versions file (if you use asdf or mise)", "excerpt": "Instead of committing the binary, I highly recommend using a .tool-versions file (if you use asdf or mise) or a Dockerfile with a pinned version.", "context": "", "use_case": "pinning tool versions", "switched_from": "", "story": "Jeffgeerling.com has been Migrated to Hugo"}, {"id": 734525681, "item_id": 45907855, "url": "https://news.ycombinator.com/item?id=45907855", "by": "0xbadcafebee", "date": "2025-11-12", "stance": "recommend", "quote": "It is insanely easy for anyone to make an asdf plugin, install it, use it.", "excerpt": "Homebrew is famous for making life hard for users. It makes \"design decisions\" that often conflict with users' needs, all in order to live up to the personal preferences of the project leads. Personally I use asdf to manage my software on Macs. It too has also changed its design recently to become user-hostile (the command-line tool no longer prints the options for the commands, and it's full of bugs since a recent m", "context": "forced to use a Mac by work", "use_case": "managing software on Macs", "switched_from": "Homebrew", "story": "Homebrew no longer allows bypassing Gatekeeper for unsigned/unnotarized software"}]}], "caveats": [], "who": [{"by": "0xbadcafebee", "context": "forced to use a Mac by work", "url": "https://news.ycombinator.com/item?id=45907855", "date": "2025-11-12"}], "tags": [], "use_cases": ["pinning tool versions", "multiple version management", "tool version management", "loading lisp systems", "managing software on macs"], "compared": [{"slug": "mise", "name": "mise", "co": 7, "switched_from": 0, "switched_to": 3}, {"slug": "homebrew", "name": "Homebrew", "co": 3, "switched_from": 2, "switched_to": 0}, {"slug": "direnv", "name": "direnv", "co": 3, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=48490024", "title": "Homebrew 6.0.0", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=48546428", "title": "What job interviews taught me about Kubernetes", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46487498", "title": "Jeffgeerling.com has been Migrated to Hugo", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46216446", "title": "Common Lisp, ASDF, and Quicklisp: packaging explained", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45907259", "title": "Homebrew no longer allows bypassing Gatekeeper for unsigned/unnotarized software", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {"neutral": 1}, "2026-01": {"recommend": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {"neutral": 1, "recommend": 2}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 776834370, "item_id": 48552148, "url": "https://news.ycombinator.com/item?id=48552148", "by": "InvertedRhodium", "date": "2026-06-16", "stance": "recommend", "quote": "We use direnv with asdf to ensure everyone is in the same version now.", "excerpt": "One person upgrading terraform can break the state format for backwards compatibility. We use direnv with asdf to ensure everyone is in the same version now.", "context": "", "use_case": "pinning tool versions", "switched_from": "", "story": "What job interviews taught me about Kubernetes"}, {"id": 776017552, "item_id": 48501097, "url": "https://news.ycombinator.com/item?id=48501097", "by": "midenginedcoupe", "date": "2026-06-12", "stance": "recommend", "quote": "I switched from brew to https://asdf-vm.com/ for this very reason.", "excerpt": "I switched from brew to https://asdf-vm.com/ for this very reason. I don't understand how devs don't use a tool that makes multiple versions of everything possible.", "context": "", "use_case": "multiple version management", "switched_from": "Homebrew", "story": "Homebrew 6.0.0"}, {"id": 775960978, "item_id": 48497561, "url": "https://news.ycombinator.com/item?id=48497561", "by": "jeremyjh", "date": "2026-06-11", "stance": "neutral", "quote": "I have used asdf for about a decade", "excerpt": "mise use -g ripgrep@latest I recently found mise and have become a fan as well. I have used asdf for about a decade and it supports the same .tool-versions projects so initially I used it those exact same things. But I use at four different computers for development regularly and sometimes use Codespaces as well. While syncing .dotfiles handles a lot of things, it doesn't handle dependencies of my dotfiles - my neovi", "context": "", "use_case": "tool version management", "switched_from": "", "story": "Homebrew 6.0.0"}, {"id": 743808432, "item_id": 46488027, "url": "https://news.ycombinator.com/item?id=46488027", "by": "hesyiah", "date": "2026-01-04", "stance": "recommend", "quote": "I highly recommend using a .tool-versions file (if you use asdf or mise)", "excerpt": "Instead of committing the binary, I highly recommend using a .tool-versions file (if you use asdf or mise) or a Dockerfile with a pinned version.", "context": "", "use_case": "pinning tool versions", "switched_from": "", "story": "Jeffgeerling.com has been Migrated to Hugo"}, {"id": 739631361, "item_id": 46226960, "url": "https://news.ycombinator.com/item?id=46226960", "by": "susam", "date": "2025-12-10", "stance": "neutral", "quote": "load it in my Lisp program using good old ASDF:LOAD-SYSTEM", "excerpt": "Quicklisp is great and I recommend using it along with a brief introduction in both my Common Lisp setup guides for Vim and Emacs: https://susam.net/lisp-in-vim.html https://github.com/susam/emacs4cl However, for my personal projects, I usually just download the package versions I need from GitHub with curl within a simple while loop: https://github.com/susam/susam.net/blob/0.4.0/Makefile#L83-L84 https://github.com/s", "context": "", "use_case": "loading Lisp systems", "switched_from": "", "story": "Common Lisp, ASDF, and Quicklisp: packaging explained"}, {"id": 734525681, "item_id": 45907855, "url": "https://news.ycombinator.com/item?id=45907855", "by": "0xbadcafebee", "date": "2025-11-12", "stance": "recommend", "quote": "It is insanely easy for anyone to make an asdf plugin, install it, use it.", "excerpt": "Homebrew is famous for making life hard for users. It makes \"design decisions\" that often conflict with users' needs, all in order to live up to the personal preferences of the project leads. Personally I use asdf to manage my software on Macs. It too has also changed its design recently to become user-hostile (the command-line tool no longer prints the options for the commands, and it's full of bugs since a recent m", "context": "forced to use a Mac by work", "use_case": "managing software on Macs", "switched_from": "Homebrew", "story": "Homebrew no longer allows bypassing Gatekeeper for unsigned/unnotarized software"}]}