Why Did My Homebrew QuickLook Plugin Stop Working?
Homebrew disables a cask for one of two distinct reasons: failing Apple's Gatekeeper check, or no longer meeting Homebrew's own acceptance criteria. Here's exactly which QuickLook plugins each reason has hit, what it does and doesn't break, and a ten-second way to check your own Mac.
By Ram Velmurugan · Founder & Lead Developer, 1dot.ai
glance-chamburr was disabled for fails_gatekeeper_check, meaning its app was never code-signed and notarized by Apple. The other five, qlstephen, qlcolorcode, quicklookase, webpquicklook, and quicklook-json, carry a separate reason code, no_longer_meets_criteria, and were never flagged for a signing problem at all. All five also happen to use Homebrew's legacy qlplugin artifact stanza, the .qlgenerator bundle format Apple stopped loading in macOS 15 Sequoia (October 2024), which is a second, unrelated reason their underlying plugins no longer do anything on a current Mac. A disabled cask simply can't be installed or upgraded through brew anymore. It does not uninstall a copy you already have, and it does not mean the plugin is dangerous, just unsigned or, for the other five, no longer accepted by Homebrew at all.Editorial note: 1dot.ai makes Quick X Folder Preview, a folder-first preview app for Mac mentioned near the end of this guide. It ships notarized by Apple from day one, so it was never a candidate for this specific audit, which plays no role in the facts above. Every Homebrew policy quote, cask status, and date below was checked live on November 13, 2026, against Homebrew's own documentation, release notes, and formulae API; sources are listed near the bottom.
The Short Version
If a brew install --cask or brew upgrade for a QuickLook plugin suddenly fails, or Homebrew prints an orange deprecation warning the first time you touch it, that almost certainly isn't a bug in the plugin. It's one of two Homebrew policies: its code-signing and notarization audit, which it has been phasing in since late 2025 and has not walked back since, or a separate call that the cask no longer meets Homebrew's acceptance bar at all. This guide covers which real QuickLook casks each policy has caught so far, what "disabled" does and doesn't change on a Mac that already has the plugin installed, and how to check any cask yourself in one line of Terminal, no Homebrew required.
Our earlier coverage of this policy focused on one plugin, Glance, and its September 1, 2026 disable date specifically. This post is the broader companion: the full policy, the reason codes Homebrew actually uses (they're not all the same), and live status for nine real casks rather than one.
- The Policy: Homebrew's Code-Signing Audit
- Where "Notarized" Comes From in the First Place
- Which QuickLook Plugins Are Actually Affected
- Why the Reason Codes Don't All Match
- Check Any Cask Yourself, in One Line
- What "Disabled" Does and Doesn't Mean
- Your Options
- Side-by-Side Comparison
- Is This Over, or Does It Keep Going?
- Where Quick X Folder Preview Fits In
- Sources & Further Reading
- FAQ
The Policy: Homebrew's Code-Signing Audit
Homebrew 5.0.0, released November 12, 2025, is where this started. Its own release notes say it plainly: "Casks without codesigning are deprecated," and separately, "We will disable all Homebrew/homebrew-cask casks that fail Gatekeeper checks in September 2026." The same release deprecated the --no-quarantine and --quarantine flags, which previously let brew install forcibly wave off macOS's Gatekeeper warning for unsigned software on a user's behalf. Homebrew's own reasoning, stated directly in the release notes, is that it does "not wish to easily provide circumvention to macOS security features" anymore.
Homebrew 6.0.0, released June 11, 2026, reconfirmed it rather than quietly dropping it: "Casks that fail macOS Gatekeeper checks, deprecated in 5.0.0, remain on track to be disabled in September 2026." So by the time this sweep actually landed, it had already survived two full release cycles as a stated commitment, not a one-off warning that might get walked back.
Homebrew's own documentation on deprecate! and disable! explains the mechanics: a deprecated cask still installs but shows a warning; a disabled one fails outright. Casks with more than 300 installs in the last 90 days are supposed to get at least six months of deprecation before being disabled, unless the problem is unfixable. Once disabled, a cask is automatically removed from the tap entirely about a year after its disable date.
Where "Notarized" Comes From in the First Place
Homebrew didn't invent code-signing or notarization. Apple introduced notarization at WWDC 2018 and made it opt-in through macOS Mojave. Starting with macOS 10.15 Catalina in 2019, Apple made notarization the default requirement: software signed with a Developer ID certificate and distributed outside the Mac App Store has to also be notarized, or Gatekeeper blocks it with more friction on first launch. That rule has been in force for seven years now. What changed in late 2025 wasn't Apple's rule, it was Homebrew deciding to actually enforce it as a listing requirement for its own official tap, rather than letting an unsigned cask sit there indefinitely with a bypass flag smoothing over the warning.
Getting notarized isn't free. It requires an Apple Developer Program membership, $99 a year as of this writing, plus submitting every release through Apple's automated scan. For a commercial app that's a rounding error. For a one-person, unpaid open-source Quick Look plugin, it's a real, recurring cost that a lot of small, genuinely useful utilities were built without, long before Homebrew made it a condition of staying listed.
Which QuickLook Plugins Are Actually Affected
Rather than repeat secondhand claims, we queried Homebrew's own public formulae API directly (formulae.brew.sh/api/cask/<name>.json) for nine real QuickLook-related casks on November 13, 2026. Here's exactly what each one reports:
| Cask | Plugin | Status | Reason | Disable date |
|---|---|---|---|---|
glance-chamburr | Glance (code, Markdown, archives) | Disabled | fails_gatekeeper_check | 2026-09-01 |
qlstephen | QLStephen (extension-less text files) | Disabled | no_longer_meets_criteria | 2026-09-27 |
qlcolorcode | QLColorCode (syntax-highlighted code) | Disabled | no_longer_meets_criteria | 2026-09-27 |
quicklookase | QuickLookASE (Adobe Swatch Exchange) | Disabled | no_longer_meets_criteria | 2026-09-27 |
webpquicklook | WebPQuickLook (.webp images) | Disabled | no_longer_meets_criteria | 2026-09-27 |
quicklook-json | quicklook JSON (.json files) | Disabled | no_longer_meets_criteria | 2025-12-23 |
qlmarkdown | sbarex QLMarkdown (Markdown rendering) | Live | n/a, shipped a signed, notarized v1.5.x in time | N/A |
suspicious-package | Suspicious Package (installer inspector) | Live | n/a, long-notarized | N/A |
betterzip | BetterZip (archive preview/Quick Look) | Live | n/a, long-notarized | N/A |
Live-queried against formulae.brew.sh on November 13, 2026. Homebrew's audit runs continuously, so re-check a cask yourself with the one-liner below before assuming this table still matches months from now.
Why the Reason Codes Don't All Match
One thing the table above makes visible that a lot of coverage of this policy glosses over: not every disabled QuickLook cask carries the same reason code. Only glance-chamburr is tagged fails_gatekeeper_check, the reason that means "never notarized." QLStephen, QLColorCode, QuickLookASE, and WebPQuickLook are tagged no_longer_meets_criteria instead, a separate reason code Homebrew's own documentation lists as its own entry alongside sibling reasons like :unmaintained and :unreachable, not a Gatekeeper-related one. Querying each cask's own API record on November 13, 2026 also surfaces a date the table above doesn't show: Homebrew deprecated all four of them on September 22, 2025, almost two months before the Gatekeeper policy in 5.0.0 even shipped, then disabled them a year later on their own September 27, 2026 schedule. quicklook-json carries the same no_longer_meets_criteria reason but skipped the deprecation step and went straight to disabled on December 23, 2025.
There's a second, independent reason those five specifically ended up there. Every one of them installs its plugin through Homebrew's qlplugin artifact stanza, Homebrew's own Ruby cask file for qlstephen declares qlplugin "QLStephen.qlgenerator", for example, which means the plugin itself is a legacy .qlgenerator bundle. Apple removed support for that entire plugin format in macOS 15 Sequoia, which shipped in October 2024, so these five plugins stopped rendering previews on any Mac running Sequoia or later well before Homebrew touched their casks at all. See our full breakdown of the .qlgenerator removal for that platform-level change on its own. Homebrew's Acceptable Casks policy and Apple's Sequoia change are two different organizations making two unrelated decisions; they just landed on the same five plugins because a plugin nobody can run anymore is also a plugin unlikely to get a Developer ID certificate.
The practical upshot is the same either way, the cask stops installing, but it means you can't assume every disabled QuickLook plugin specifically failed a signing check. These five are small, single-purpose tools (QLStephen previews extension-less text files; WebPQuickLook previews .webp images), and the format they were built on had already stopped working on current macOS before Homebrew's own audit caught up with them.
Check Any Cask Yourself, in One Line
You don't need Homebrew installed to check a cask's status. This works in any Terminal:
curl -s https://formulae.brew.sh/api/cask/NAME.json | grep -E '"disabled"|"deprecated"|_reason|_date'
Swap NAME for the cask token, for example qlstephen or glance-chamburr. The reply tells you straight away whether "disabled" or "deprecated" is true, plus the matching reason and date fields.
If you already have Homebrew installed, brew info --cask NAME shows the same information in plain-language form, including the exact disable date, directly from Homebrew's own CLI rather than a blog post's word for it.
What "Disabled" Does and Doesn't Mean
This is the part worth being precise about, because "disabled" sounds like a remote kill switch, and it isn't one.
brew install --cask NAME and brew upgrade for it fail with an error. That hits anyone reinstalling after wiping a Mac or migrating to a new one, anyone who hadn't installed it yet and goes looking after the cutoff, and anyone counting on a future bug-fix release reaching them automatically through brew upgrade.Your Options
Look for the developer’s own tap or a direct download
Homebrew's notarization policy only governs the official homebrew/cask tap. A developer who keeps distributing an unsigned build is free to publish a personal tap (installed with `brew install --cask <github-username>/tap/<name>`) or just host the .dmg or .zip on their own GitHub Releases page, and neither is touched by the official policy at all.
Check the project’s GitHub repository first. If a personal tap or direct download exists, uninstall the official cask, install from the alternate source, and approve the app once through System Settings > Privacy & Security > Open Anyway, since Gatekeeper still flags anything that was never notarized regardless of which channel delivered it.
This only helps glance-chamburr. For the other five casks, a personal tap still installs the same .qlgenerator bundle, and that format does not load on macOS 15 Sequoia or later regardless of who signs it, so finding an alternate download source will not bring the preview back.
Free, keeps the plugin itselfApprove it manually and keep using it as-is
If a plugin is already installed and registered as a Quick Look extension, nothing forces you to replace it. The disable date only blocks brew install and brew upgrade for that specific cask; for glance-chamburr specifically, the extension itself keeps running until you remove it.
The tradeoff is that you lose Homebrew’s automatic-upgrade safety net for that one plugin. If the developer ships a security fix later, you’ll need to find and install it yourself rather than relying on `brew upgrade` to pick it up. This option does not apply to the other five casks on macOS 15 Sequoia or later: their .qlgenerator format stopped loading at the OS level, so there is no working copy left to keep using as-is.
Free, more manual going forwardMove to an actively maintained, notarized alternative
For the plugins this sweep hits hardest, code and Markdown preview, Looq and Unfold are the two notarized options that cover the same ground; see our dedicated Glance post below for a full side-by-side. For narrower formats like JSON or Adobe Swatch Exchange files, there usually isn't a one-to-one notarized replacement, so this is the option with the least guaranteed coverage.
This is the path worth taking if you’d rather stop re-checking cask status every time Homebrew tightens the audit further, which the policy’s own history suggests it will keep doing.
Usually paid, no Gatekeeper friction at any future auditSide-by-Side Comparison
| Capability | Stay on the disabled official cask | Personal tap / direct download | Notarized alternative |
|---|---|---|---|
Installable via brew install after the disable date | No | Yes, if the developer publishes one | Yes |
| Apple code-signed and notarized | No | No | Yes |
| Cost | Free | Free | Usually a small one-time fee |
| Auto-upgrades through Homebrew | No, frozen at the last version it installed | Only if the alternate tap stays maintained | Through its own updater or the Mac App Store |
| Gatekeeper prompt on first install | n/a, won't install | Yes, one-time manual approval | No |
| Survives the next audit tightening | No | Depends entirely on that developer | Yes |
Is This Over, or Does It Keep Going?
It keeps going. This wasn't a single cleanup pass with a fixed list drawn up once in 2025. Homebrew introduced the audit in 5.0.0, reconfirmed the timeline in 6.0.0 seven months later rather than quietly dropping it, and removed the --no-quarantine escape hatch in the same release line, which tightens the practical consequence of failing the check going forward rather than loosening it. Any cask submitted to the tap today has to clear the same bar, and a cask that's clean today can still get caught later if it goes unmaintained or loses its signing certificate. If a QuickLook plugin you depend on was installed through Homebrew and you haven't checked it since this started, that's worth five minutes now rather than finding out mid-migration.
Where Quick X Folder Preview Fits In
None of this audit touches Quick X Folder Preview directly; it adds folder and archive previews, a gap none of the plugins above ever covered anyway, and it was notarized by Apple from its first release, so it was never a candidate for this specific sweep. It ships now for macOS 13.0 (Ventura) or later, on Apple silicon or Intel.
Sources & Further Reading
Homebrew's policy, in its own words: Homebrew 5.0.0 release notes, Homebrew 6.0.0 release notes, Homebrew docs: Deprecating, Disabling and Removing, Homebrew docs: Acceptable Casks.
Live cask status, checked Nov 13, 2026: glance-chamburr, qlstephen, qlcolorcode, quicklookase, webpquicklook, quicklook-json, qlmarkdown (Homebrew Formulae, each page backed by the same public JSON API queried for this article).
Apple's notarization requirement: Apple Developer: Notarizing macOS software before distribution, MacRumors, Catalina notarization coverage.
Why five of these casks stopped working regardless of notarization: Apple Developer, macOS Sequoia 15 Release Notes, Quick Look section, and each cask's own source, for example Homebrew/homebrew-cask, qlstephen.rb, which declares the qlplugin "QLStephen.qlgenerator" artifact directly.
Our earlier, narrower coverage: Glance QuickLook Plugin Not Working or Disabled?. Our full breakdown of the platform-level change: Why Quick Look Plugins Stopped Working on macOS Sequoia and Tahoe.
Frequently Asked Questions
The Bottom Line
Your QuickLook plugin almost certainly didn't break on its own, but don't assume you know why without checking. Homebrew has disabled six real QuickLook casks on staggered dates between December 2025 and September 2026, one for failing its code-signing and notarization audit, five for a separate reason that has nothing to do with signatures and lines up instead with Apple dropping the old .qlgenerator plugin format in macOS 15 Sequoia. None of that deletes a plugin you've already installed. It just means the next reinstall, upgrade, or Mac migration is where you'll actually feel it, so it's worth checking now rather than then.
Looking for more Mac productivity guides? Read our dedicated Glance deadline post for that specific plugin's fix options in full, see our complete Quick Look troubleshooting guide if Quick Look itself is misbehaving for reasons unrelated to Homebrew, read our breakdown of Apple's own .qlgenerator removal for the separate platform-level change, browse every 1dot.ai guide, or check Quick X Folder Preview's product page for pricing and the full extension list.
Want Folder and Archive Previews Without Extracting?
Quick X Folder Preview adds 13 Quick Look extensions to the space bar, notarized by Apple. Free for 14 days, then $4.99 once for a lifetime license.
Try It FreeRead More Guides