← All notes
Troubleshooting · macOS

Why your virtual camera disappeared in Zoom after macOS Sequoia — and how to bring it back.

May 15, 2026 · 7 min read

You updated to Sequoia, restarted, opened Zoom, clicked the little arrow next to the camera button, and the virtual camera you have used for the last six months wasn’t in the list. The MacBook’s built-in camera is there. iPhone Continuity Camera is there. The virtual camera you installed — gone.

This has happened to enough people that the Zoom Community forum has a recurring thread on it after every macOS 15 minor update, and there’s a similar one on Reddit’s r/macsysadmin. The good news is the fix is exactly one toggle. The bad news is Apple hid the toggle two screens deep in System Settings and labels it in a way that actively discourages clicking it.

What actually changed

Virtual cameras on macOS used to ship as DAL (Device Abstraction Layer) plug-ins — a bundle of code you dropped into /Library/CoreMediaIO/Plug-Ins/DAL/ and macOS picked up on the next process launch. That mechanism is deprecated. Apple replaced it with CMIOExtensions, which are System Extensions: signed bundles that get registered with the kernel and run in their own process with their own entitlements.

Sequoia did not invent this. Monterey introduced it. But Sequoia tightened the activation flow in three small ways that, combined, break apps that were previously skating by:

  • Quieter notifications. The “System Extension Blocked” dialog that used to interrupt your workflow now hides behind the Notification Center icon. If you don’t click it within a few minutes, it goes away and the extension stays disabled forever, silently.
  • Sharper TCC enforcement. The one-time approval-to-administer-bundles prompt is now mandatory for new installs, and a previous denial — even from a deleted older version of the same app — sticks around in the TCC database until you reset it.
  • Per-app reinstall friction. If you delete the app and reinstall it without first deactivating the extension, the second install fails to register and Zoom never sees the camera.

The fix, step by step

For most people, the entire problem is one of these three boxes being unchecked.

  1. Quit Zoom completely. Cmd-Q, then verify in the Dock that the dot under the icon is gone. Zoom caches the camera list and won’t re-scan on a window close.
  2. Open System Settings → General → Login Items & Extensions.
  3. Scroll to the bottom of the right pane. You will see a section labeled Camera Extensions (and, depending on macOS version, a parent Extensions row you have to click into).
  4. Click the small i button next to it. A sheet drops down listing every camera-related System Extension installed on the machine. Find your virtual camera. Make sure the toggle is on.
  5. Open System Settings → Privacy & Security. Scroll down. If there is a yellow message that says System software from “…” was blocked from loading, click Allow. You may need to authenticate.
  6. Reopen Zoom. The virtual camera should now appear in the camera picker. If it doesn’t, restart the Mac once — System Extensions occasionally need a kernel reload to surface.

The whole process takes about ninety seconds once you’ve done it once. The reason it feels infuriating the first time is that the UI gives you zero feedback. Nothing about “your virtual camera is installed but disabled” appears in Zoom, in System Settings’ Camera panel, or in the app itself.

If the toggle won’t stick

A handful of cases get stuck even after toggling the extension on. In order from most to least common:

  • The app needs to be in /Applications. System Extensions can only register from a non-quarantined location. Drag the app from Downloads to Applications before opening it. (This bites people who run the app from the DMG without copying.)
  • An older version is shadowing the new one. Open ~/Library/Application Support/ and remove any folders from older versions of the same app. Reinstall.
  • TCC remembers an old denial. If you previously clicked “Don’t Allow” on the “administer apps on your computer” prompt, the deny is cached. Open Terminal and run tccutil reset SystemPolicyAppBundles <com.your.bundle>, then reopen the app and accept the prompt this time.
  • Hardened-runtime mismatch. If the camera vendor shipped the app without a properly signed CMIOExtension binary inside it, macOS silently refuses to register it. There is nothing you can do as a user — the vendor has to fix it. This is the single biggest pile-up on the Zoom Community thread.

Why Zoom specifically

Zoom, Google Meet, and Microsoft Teams all hit the same macOS CoreMediaIO list to enumerate cameras. So if the list is broken, all three are broken. People notice in Zoom first because Zoom is the most-used Mac conferencing app and because Zoom doesn’t show a friendly “no virtual cameras found” state — it just shows the built-in camera as the only option.

Worth noting: Google Meet in Chrome on Mac has its own MediaDevices.enumerateDevices loop that occasionally needs a full Chrome restart after enabling a System Extension. If Zoom sees the camera but Chrome doesn’t, quit Chrome with Cmd-Q (not just the window) and reopen.

What MeetingDouble does about this

MeetingDouble is a CMIOExtension app, so it lives squarely in the middle of this whole mess. The install flow walks you through the Privacy & Security toggle the first time you open the app, with the main window held foreground so you can’t miss the prompt. If you still hit a wall, the install guide has screenshots for each step and a small reset script for the TCC case. If you’re comparing tools, the virtual-camera roundup covers the rest of the landscape.

MeetingDouble handles the System Extension dance for you on first launch, so this is a one-time exercise. Buy a license or peek at the Zoom-specific page for setup details.


More from MeetingDouble · All notes · Buy · $129