Guide

Fix “No module named expat” in Download Video

Download Video can stop with this error on macOS 26.0 to 26.2. Here’s why, and two ways to fix it in a few minutes.

Last updated

01The error

You paste a link into Download Video, press Download, and it stops with:
ERROR: No module named expat; use SimpleXMLTreeBuilder instead
It shows up most with Facebook links, but it can happen with other sites too. Your files and the app are fine. The problem is in yt-dlp, the free downloader the app uses, and takes a few minutes to fix.

02Why it happens

OneMacApp downloads videos with your own copy of yt-dlp, usually installed through Homebrew. yt-dlp is written in Python, and to read some sites it needs the part of Python that understands XML.
Recent Homebrew versions of Python expect that part to be backed by a newer XML library than the one built into macOS 26.0, 26.1 and 26.2. On those versions Python can’t load it, and yt-dlp stops with this message. macOS 26.3 and later include the newer library, so the same yt-dlp works there.

03Check it’s this problem

Open Terminal (in Applications › Utilities), paste these two lines, and press Return:
sw_vers -productVersion
/opt/homebrew/opt/yt-dlp/libexec/bin/python -c "import pyexpat"
If the first line prints 26.0, 26.1 or 26.2, and the second ends with Symbol not found: _XML_SetAllocTrackerActivationThreshold, this guide is for you.

04Fix 1: Update macOS

The simplest fix, with nothing else to change:
  • Open System Settings › General › Software Update.
  • Install macOS 26.3 or later and restart your Mac.
  • Open OneMacApp and try the download again.

05Fix 2: Use the standalone yt-dlp

If you can’t update macOS right now, swap Homebrew’s yt-dlp for the official standalone version. It carries its own copy of Python, so the version of macOS doesn’t matter.
Quit OneMacApp, then paste these lines into Terminal and press Return:
brew uninstall yt-dlp
mkdir -p ~/.local/bin
curl -L -o ~/.local/bin/yt-dlp https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos
chmod +x ~/.local/bin/yt-dlp
~/.local/bin/yt-dlp --version
The last line prints a version number such as 2026.08.19. Open OneMacApp again: it finds the new yt-dlp on its own, and Download Video works as before.
Sites change often, so keep yt-dlp up to date. Once in a while, run:
~/.local/bin/yt-dlp -U

06Still not working?

Write to [email protected] with the full error message and what the two lines in Check it’s this problem printed, and we’ll help you sort it out.

See all guides, or write to [email protected] about anything else.