Fleet logo
Menu An icon indicating that interacting with this button will open the navigation menu.
Fleet logo An 'X' icon indicating that this can be interacted with to close the navigation menu.
Multi platform
Device management   (+ MDM) Orchestration   (+ monitoring) Software management   (+ CVEs) Integrations

Docs
Stories
News Ask around Meetups Share your story COMPANY
The handbook Testimonials

Pricing Schedule a demo
Multi platform
Device management + MDM Orchestration + monitoring Software management + CVEs, usage, app library Integrations
Docs
Stories
News Ask around Meetups Schedule a demo Share your story COMPANY The handbook Testimonials
Pricing Try it yourself
Software/
Zoom
Zoom icon

Zoom

macOS | 6.5.0.57940

Zoom is a leading video communication platform for meetings, webinars, and collaboration.

Self-service install

To install Zoom on your work computer:

  1. Navigate to the Fleet Desktop icon in the OS menu bar and select My device.
  2. From the Self-service tab, navigate to Zoom and click Install.

Don’t see Zoom or the Fleet Desktop icon? Send a link to this page to your IT team.

Uninstall Zoom

Run the following command in your terminal to uninstall Zoom:

LOGGED_IN_USER=$(scutil <<< "show State:/Users/ConsoleUser" | awk '/Name :/ { print $3 }') && expand_pkgid_and_map() { local PKGID="$1"; local FUNC="$2"; if [[ "$PKGID" == *"*" ]]; then local prefix="${PKGID%\*}"; echo "Expanding wildcard for PKGID: $PKGID"; for receipt in $(pkgutil --pkgs | grep "^${prefix}"); do echo "Processing $receipt"; "$FUNC" "$receipt"; done else "$FUNC" "$PKGID"; fi } && forget_pkg() { local PKGID="$1"; expand_pkgid_and_map "$PKGID" forget_receipt } && forget_receipt() { local PKGID="$1"; sudo pkgutil --forget "$PKGID" } && remove_launchctl_service() { local service="$1"; local booleans=("true" "false"); local plist_status; local paths; local should_sudo; echo "Removing launchctl service ${service}"; for should_sudo in "${booleans[@]}"; do plist_status=$(launchctl list "${service}" 2>/dev/null); if [[ $plist_status == \{* ]]; then if [[ $should_sudo == "true" ]]; then sudo launchctl remove "${service}"; else launchctl remove "${service}"; fi; sleep 1; fi; paths=(; "/Library/LaunchAgents/${service}.plist"; "/Library/LaunchDaemons/${service}.plist"; ); if [[ $should_sudo == "false" ]]; then for i in "${!paths[@]}"; do paths[i]="${HOME}${paths[i]}"; done fi; for path in "${paths[@]}"; do if [[ -e "$path" ]]; then if [[ $should_sudo == "true" ]]; then sudo rm -f -- "$path"; else rm -f -- "$path"; fi; fi; done done } && remove_pkg_files() { local PKGID="$1"; expand_pkgid_and_map "$PKGID" remove_receipt_files } && remove_receipt_files() { local PKGID="$1"; local PKGINFO VOLUME INSTALL_LOCATION FULL_INSTALL_LOCATION; echo "pkgutil --pkg-info-plist \"$PKGID\""; PKGINFO=$(pkgutil --pkg-info-plist "$PKGID"); VOLUME=$(echo "$PKGINFO" | awk '/<key>volume<\/key>/ {getline; gsub(/.*<string>|<\/string>.*/, ""); print}'); INSTALL_LOCATION=$(echo "$PKGINFO" | awk '/<key>install-location<\/key>/ {getline; gsub(/.*<string>|<\/string>.*/, ""); print}'); if [ -z "$INSTALL_LOCATION" ] || [ "$INSTALL_LOCATION" = "/" ]; then FULL_INSTALL_LOCATION="$VOLUME"; else FULL_INSTALL_LOCATION="$VOLUME/$INSTALL_LOCATION"; FULL_INSTALL_LOCATION=$(echo "$FULL_INSTALL_LOCATION" | sed 's|//|/|g'); fi; echo "sudo pkgutil --only-files --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | tr '\\\\n' '\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf"; sudo pkgutil --only-files --files "$PKGID" | sed "s|^|/${INSTALL_LOCATION}/|" | tr '\n' '\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf; echo "sudo pkgutil --only-dirs --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | grep '\\.app$' | tr '\\\\n' '\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf"; sudo pkgutil --only-dirs --files "$PKGID" | sed "s|^|${FULL_INSTALL_LOCATION}/|" | grep '\.app$' | tr '\n' '\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf; root_app_dir=$(; sudo pkgutil --only-dirs --files "$PKGID" \; | sed "s|^|${FULL_INSTALL_LOCATION}/|" \; | grep 'Applications' \; | awk '{ print length, $0 }' \; | sort -n \; | head -n1 \; | cut -d' ' -f2-; ); if [ -n "$root_app_dir" ]; then echo "sudo rmdir -p \"$root_app_dir\" 2>/dev/null || :"; sudo rmdir -p "$root_app_dir" 2>/dev/null || :; fi } && send_signal() { local signal="$1"; local bundle_id="$2"; local logged_in_user="$3"; local logged_in_uid pids; if [ -z "$signal" ] || [ -z "$bundle_id" ] || [ -z "$logged_in_user" ]; then echo "Usage: uninstall_signal <signal> <bundle_id> <logged_in_user>"; return 1 fi; logged_in_uid=$(id -u "$logged_in_user"); if [ -z "$logged_in_uid" ]; then echo "Could not find UID for user '$logged_in_user'."; return 1 fi; echo "Signalling '$signal' to application ID '$bundle_id' for user '$logged_in_user'"; pids=$(/bin/launchctl asuser "$logged_in_uid" sudo -iu "$logged_in_user" /bin/launchctl list | awk -v bundle_id="$bundle_id" '; $3 ~ bundle_id { print $1 }'); if [ -z "$pids" ]; then echo "No processes found for bundle ID '$bundle_id'."; return 0 fi; echo "Unix PIDs are $pids for processes with bundle identifier $bundle_id"; for pid in $pids; do if kill -s "$signal" "$pid" 2>/dev/null; then echo "Successfully signaled PID $pid with signal $signal."; else echo "Failed to kill PID $pid with signal $signal. Check permissions."; fi; done sleep 3 } && trash() { local logged_in_user="$1"; local target_file="$2"; local timestamp="$(date +%Y-%m-%d-%s)"; local rand="$(jot -r 1 0 99999)"; if [[ "$target_file" == ~* ]]; then target_file="/Users/$logged_in_user${target_file:1}"; fi; local trash="/Users/$logged_in_user/.Trash"; local file_name="$(basename "${target_file}")"; if [[ -e "$target_file" ]]; then echo "removing $target_file."; mv -f "$target_file" "$trash/${file_name}_${timestamp}_${rand}"; else echo "$target_file doesn't exist."; fi } && remove_launchctl_service 'us.zoom.ZoomDaemon' && send_signal 'KILL' 'us.zoom.xos' "$LOGGED_IN_USER" && remove_pkg_files 'us.zoom.pkg.videomeeting' && forget_pkg 'us.zoom.pkg.videomeeting' && sudo rm -rf '/Applications/zoom.us.app' && sudo rm -rf '/Library/Audio/Plug-Ins/HAL/ZoomAudioDevice.driver' && sudo rm -rf '/Library/Internet Plug-Ins/ZoomUsPlugIn.plugin' && sudo rm -rf '/Library/Logs/DiagnosticReports/zoom.us*' && sudo rm -rf '/Library/PrivilegedHelperTools/us.zoom.ZoomDaemon' && trash $LOGGED_IN_USER '/Library/Preferences/us.zoom.config.plist' && trash $LOGGED_IN_USER '~/.zoomus' && trash $LOGGED_IN_USER '~/Desktop/Zoom' && trash $LOGGED_IN_USER '~/Documents/Zoom' && trash $LOGGED_IN_USER '~/Library/Application Scripts/*.ZoomClient3rd' && trash $LOGGED_IN_USER '~/Library/Application Support/CloudDocs/session/containers/iCloud.us.zoom.videomeetings' && trash $LOGGED_IN_USER '~/Library/Application Support/CloudDocs/session/containers/iCloud.us.zoom.videomeetings.plist' && trash $LOGGED_IN_USER '~/Library/Application Support/CrashReporter/zoom.us*' && trash $LOGGED_IN_USER '~/Library/Application Support/zoom.us' && trash $LOGGED_IN_USER '~/Library/Caches/us.zoom.xos' && trash $LOGGED_IN_USER '~/Library/Cookies/us.zoom.xos.binarycookies' && trash $LOGGED_IN_USER '~/Library/Group Containers/*.ZoomClient3rd' && trash $LOGGED_IN_USER '~/Library/HTTPStorages/us.zoom.xos' && trash $LOGGED_IN_USER '~/Library/HTTPStorages/us.zoom.xos.binarycookies' && trash $LOGGED_IN_USER '~/Library/Internet Plug-Ins/ZoomUsPlugIn.plugin' && trash $LOGGED_IN_USER '~/Library/Logs/zoom.us' && trash $LOGGED_IN_USER '~/Library/Logs/zoominstall.log' && trash $LOGGED_IN_USER '~/Library/Logs/ZoomPhone' && trash $LOGGED_IN_USER '~/Library/Mobile Documents/iCloud~us~zoom~videomeetings' && trash $LOGGED_IN_USER '~/Library/Preferences/us.zoom.airhost.plist' && trash $LOGGED_IN_USER '~/Library/Preferences/us.zoom.caphost.plist' && trash $LOGGED_IN_USER '~/Library/Preferences/us.zoom.Transcode.plist' && trash $LOGGED_IN_USER '~/Library/Preferences/us.zoom.xos.Hotkey.plist' && trash $LOGGED_IN_USER '~/Library/Preferences/us.zoom.xos.plist' && trash $LOGGED_IN_USER '~/Library/Preferences/us.zoom.ZoomAutoUpdater.plist' && trash $LOGGED_IN_USER '~/Library/Preferences/ZoomChat.plist' && trash $LOGGED_IN_USER '~/Library/Safari/PerSiteZoomPreferences.plist' && trash $LOGGED_IN_USER '~/Library/SafariTechnologyPreview/PerSiteZoomPreferences.plist' && trash $LOGGED_IN_USER '~/Library/Saved Application State/us.zoom.xos.savedState' && trash $LOGGED_IN_USER '~/Library/WebKit/us.zoom.xos'

Is Zoom up to date?

Run this query in Fleet to find old versions of Zoom across all your computers:

SELECT 1 FROM apps WHERE bundle_identifier = 'us.zoom.xos' AND bundle_short_version <= '6.5.0.57940';

Share

Share this article on Hacker News Share this article on LinkedIn Share this article on Twitter
Docs REST API Guides
Fleet logo
Multi platform Device management Orchestration Software management Integrations Pricing
Documentation Support Docs API Release notes Get your license
Company About News Jobs Logos/artwork Why open source?
ISO 27001 coming soon a small checkmarkSOC2 Type 2 Creative Commons Licence CC BY-SA 4.0
© 2025 Fleet Inc. Privacy
Slack logo GitHub logo LinkedIn logo X (Twitter) logo Youtube logo Mastadon logo
Tried Fleet yet?

Get started with Fleet

Start
continue
×