How to freeze your webcam on Microsoft Teams (macOS)

If you searched for this and landed on a guide telling you to open Terminal and run sudo codesign --remove-signature against Teams and five of its helper processes — stop. You don’t need to do that, and you shouldn’t.

Those instructions were written for a generation of macOS virtual cameras that no longer exists. Following them today strips Microsoft’s signature off your Teams install, which breaks its updater, trips enterprise security tooling, and gains you nothing.

Here’s the current way, which takes about three minutes and doesn’t touch Teams at all.

Why the old guides said that

Virtual cameras on macOS used to be DAL plugins. A DAL plugin worked by loading its code directly into the application using the camera — into Teams itself. Hardened apps like Teams refuse to load unsigned third-party code into their own process, so the workaround was to remove Teams’ code signature and disable that protection.

Apple replaced DAL plugins with Camera Extensions in macOS 12.3 and switched DAL off entirely in macOS 14.1. A Camera Extension runs in its own sandboxed process and hands frames to the system, which passes them to Teams the same way it passes frames from a real webcam. Teams never loads anyone’s code. Nothing needs unsigning.

Every virtual camera that still works on a current Mac uses this model. The old guides just haven’t been updated.

Setting it up

1. Install the virtual camera

Install FrostCam from the Mac App Store. It runs in the menu bar.

Click the FrostCam menu bar icon and choose Install Extension. macOS asks you to approve it in System Settings → Privacy & Security. Approve it there. One time only.

On a managed work Mac? Camera extensions need approval in System Settings, and some MDM configurations block that. If the approval prompt never appears or the toggle won’t stick, your IT policy is blocking system extensions and no virtual camera will install — that’s worth knowing before you spend money on one.

2. Start the camera

In the FrostCam popover, click Get Started, then Start Camera. It should read “Camera active”. Your real webcam is now passing through untouched.

3. Point Teams at it

In Teams, click your profile picture → SettingsDevices. Under Camera, pick FrostCam. The preview shows your normal feed.

Mid-call, you can change it from the menu → SettingsDevices without leaving the meeting.

4. Freeze

Click Freeze in the popover, or use the global keyboard shortcut. Your video holds on the current frame. Click again to go back live.

Set the shortcut up before you need it — visibly reaching for the menu bar rather defeats the purpose.

For longer than a few seconds, loop instead

A frozen frame is convincing for fifteen or twenty seconds. Beyond that, total stillness starts reading as a dropped connection, and someone will say your name.

Loop records 3–10 seconds of you and replays it continuously with bounce playback — forward then backward — so there’s no visible seam where it restarts. You get blinking and small movements. It survives a long status update comfortably.

Troubleshooting

FrostCam isn’t in the Teams camera list

Teams enumerates cameras at launch. Quit it completely — Cmd+Q, and check it isn’t still running in the menu bar — then reopen. Teams is particularly stubborn about this compared to other apps.

If it’s still absent, open System Settings → General → Login Items & Extensions → Camera Extensions and confirm the FrostCam extension is listed and enabled. A reboot resolves most remaining cases, especially straight after installing.

Teams shows a black frame

The virtual camera only produces frames while FrostCam is running and started. Confirm the menu bar icon is present and the camera is active. Then check System Settings → Privacy & Security → Camera and confirm both Teams and FrostCam have camera access.

It works in FaceTime but not Teams

Almost always a stale camera list. Fully quit Teams and relaunch. If you’ve just installed the extension, reboot first — Teams caches harder than most apps and a partially registered extension shows up inconsistently across apps.

I already ran the codesign command from an old guide

Reinstall Teams from Microsoft to restore a properly signed copy. An unsigned Teams will keep failing update checks and may be flagged by any endpoint security software your employer runs.

Does this work with Webex, Meet, Slack, Discord?

Yes. A Camera Extension registers a system-level camera device, so it appears in any macOS app with a camera picker — Zoom, Google Meet, Webex, Slack, Discord, FaceTime, Photo Booth, OBS. There’s nothing per-app to install. We have a Zoom-specific walkthrough too, though the steps barely differ.

Download on the Mac App Store