May 2, 2026
Ctrl+Alt+Del the drama
Meta's Pyrefly sabotages competing Python extensions without telling you
Meta’s coding helper got caught quietly switching off rivals — and users are furious
TLDR: Meta’s Pyrefly was found quietly switching off named rival Python add-ons in a user’s editor settings, and the change could stay behind even after uninstall. Commenters are split between calling it shady sabotage and dismissing it as a sloppy beta-era mistake, with one “vibe-coding” joke stealing the show.
The internet loves a software scandal, and Meta’s Pyrefly just handed commenters a juicy one. The big accusation: when people turn on Pyrefly in Visual Studio Code, a popular code editor, it quietly flips off features in three rival Python add-ons and does it in the user’s global settings — meaning the change can keep affecting the whole app even after Pyrefly is removed. That detail is what really lit the fuse. For many readers, this wasn’t just a bug; it was the digital version of moving into someone’s house, rearranging the furniture, and leaving without putting it back.
The comments quickly split into two camps. One side went full outrage, calling the silent change wildly out of line and zeroing in on the fact that the breakage sticks around after uninstall. As one commenter basically put it, disabling conflicts is one thing, leaving behind a hidden mess is another. The other side argued this looked less like sabotage and more like a sloppy shortcut from a beta launch, especially since multiple Python tools can clash and make the editor confusing. Pyrefly’s own developer jumped in to say it was an oversight and linked a full response, which cooled some people down — but not all.
And of course, the jokes flew. The runaway winner was: “Never attribute to malice what can be explained by vibe-coding.” That line pretty much became the mood board for the whole thread: half scandal, half clown show, with a side of “how did this ship?”
Key Points
- •The article says Pyrefly silently writes `disableLanguageServices = true` to global VS Code settings for three named third-party Python extensions when activated.
- •The report states those global configuration changes are not restored on deactivation or uninstall, leaving affected extensions broken until users manually edit `settings.json`.
- •The implementation is described as hardcoding specific extension IDs—`detachhead.basedpyright`, `codeium.windsurfpyright`, and `anysphere.cursorpyright`—rather than using a generic conflict-resolution mechanism.
- •The behavior was reportedly reproduced on both VSCodium and stock VS Code 1.118.1, including on a clean isolated profile.
- •The article cites source files and commits dated December 8–9, 2025, and says `package.json` also declares an extension dependency on `ms-python.python`.