Meta's Pyrefly sabotages competing Python extensions without telling you
Meta's Pyrefly VS Code extension silently disables competing Python language server extensions by modifying global user settings without user consent. The changes persist even after Pyrefly is uninstalled, leaving the affected extensions non-functional. No notification or cleanup mechanism is provided to users.
- ▪Pyrefly disables competing extensions by setting 'disableLanguageServices = true' in global VS Code settings.
- ▪The affected extensions include basedpyright, windsurfpyright, and cursorpyright.
- ▪The disabling occurs without user notification and remains after Pyrefly is uninstalled.
- ▪This behavior was confirmed through live testing on both VSCodium and VS Code.
- ▪The extension specifically targets competitor extensions by their publisher IDs in its code.
Opening excerpt (first ~120 words) tap to expand
facebook / pyrefly Public Notifications You must be signed in to change notification settings Fork 316 Star 5.7k Code Issues 412 Pull requests 120 Discussions Actions Projects Models Security and quality 0 Insights Additional navigation options Code Issues Pull requests Discussions Actions Projects Models Security and quality Insights {"payload":{"preloaded_records":{},"structured_data":{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Extension silently disables competitor extensions globally with no cleanup on uninstall","articleBody":"On activation, Pyrefly silently writes `disableLanguageServices = true` to the user's\n**global** VS Code settings for three named third-party extensions, without prompting\nthe user or notifying them in any way.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at GitHub.