Getting Around the macOS USB Bugs
macOS has had several USB device enumeration regressions that prevent the Raspberry Pi Pico from connecting. This page documents the known issues and the exact steps to work around them.
Quick Diagnosis
Plug in your Pico and run:
ls /dev/cu.*
You should see a device like /dev/cu.usbmodem14301. If you only see
Bluetooth entries, the Pico is not being detected.
Next, check whether the Mac can see it at the USB hardware level:
ioreg -p IOUSB -l -w 0 | grep -E "idVendor|USB Product Name" | grep -v "Apple\|1452"
- Nothing appears → USB enumeration is completely blocked (see macOS 26 bug below).
- "RP2 Boot" appears but no
/dev/cu.*→ The device is seen but not mounted or the CDC serial driver is blocked (see the mounting workaround below). - A
usbmodementry appears → The Pico is connected; check your IDE's port setting.
macOS 26 (Tahoe) USB Enumeration Bug
Symptoms
- Pico LED blinks (power is fine) but
ls /dev/cu.*shows nothing. - Even holding BOOTSEL while plugging in produces no
RPI-RP2drive in Finder. system_profiler SPUSBDataTypeshows only internal Apple devices.- The problem occurs on an Intel MacBook Pro. Other Macs nearby work fine.
- USB hubs with USB-A ports do not fix the problem.
Root cause
macOS Tahoe 26.0 through 26.5 introduced a regression in the USB stack on Intel Macs that prevents USB Full Speed (USB 1.1, 12 Mbps) devices from being enumerated. The Pico operates at Full Speed, so it receives power but is never recognised as a USB device. This is a kernel/OS-level block — no hub, adapter, or driver change will work around it.
Fix: update to macOS Tahoe 26.5.1
First, check your current version and what updates are available:
sw_vers
softwareupdate -l
If macOS Tahoe 26.5.1 is listed, install it. The GUI updater in System Settings → General → Software Update is more reliable than the command-line tool for large OS updates.
Stuck update daemon
If the update stalls indefinitely (no CPU or disk I/O for over 30 minutes),
a stuck UpdateBrainService process from a previous update attempt may be
blocking it. Check with:
ps aux | grep UpdateBrain | grep -v grep
sudo kill -9 <PID>, then cancel the GUI update, do a normal restart
(Apple menu → Restart), and try again with a clean boot.
First Connection After Updating to 26.5.1
After updating, the Pico should enumerate. However, the first time you
connect in BOOTSEL mode, macOS may detect the device but not auto-mount
the RPI-RP2 drive. If it does not appear in Finder:
diskutil list | grep RPI
If you see something like /dev/disk2s1, mount it manually:
diskutil mount disk2s1
The RPI-RP2 drive will appear in Finder immediately.
Flashing Firmware via the Command Line
Finder's drag-and-drop copy to RPI-RP2 often hangs during the
"Preparing to copy" phase. This is because the Pico reboots the instant
it receives a valid UF2 file, and Finder panics when the volume disappears
mid-transfer.
Use cp in the terminal instead — it handles the disappearing volume cleanly:
cp ~/Desktop/RPI_PICO-20260406-v1.28.0.uf2 /Volumes/RPI-RP2/
The Pico will reboot immediately. cp may print an I/O error — that is
expected and harmless. Wait three seconds, then check for the serial port:
ls /dev/cu.*
You should see /dev/cu.usbmodem*. The Pico is ready.
Checking the "Allow Accessories to Connect" Setting
macOS 13 (Ventura) and later added a privacy gate that controls whether USB accessories are allowed to connect. In macOS 26 the search result for "Allow accessories to connect" in System Settings may navigate to the wrong section. Navigate there directly:
System Settings → Privacy & Security → scroll to the bottom of the right pane
Look for "Allow accessories to connect" and set it to Automatically when unlocked or Always so the Pico is not blocked.
Summary Table
| Symptom | Cause | Fix |
|---|---|---|
| Pico invisible to Mac, even in BOOTSEL mode | macOS 26.0–26.5 USB regression | Update to macOS 26.5.1 |
RPI-RP2 detected but not mounted in Finder |
USB accessory gate blocking auto-mount | diskutil mount disk2s1 |
Finder copy to RPI-RP2 hangs at "Preparing" |
Pico reboots mid-copy, confusing Finder | Use cp in Terminal |
| Serial port not appearing after firmware flash | CDC driver blocked or device not enumerated | Check ioreg, verify 26.5.1, check Privacy & Security |
| Update stalls indefinitely | Stuck UpdateBrainService process |
Kill the process, restart Mac, retry update |