Available now on the Mac App Store

Stop chasing /dev/cu.*

USBAlias gives every board, radio and test rig a stable name on macOS. Match the device once, then use the same path in your terminal, scripts and firmware tools.

macOS 26.5 or later A$19.99 one-time purchase No subscription

Before /dev/cu.usbmodemA4C8F...
Every time ~/Aliases/ESP32_LAB
USBAlias Rules window showing stable aliases for JTAG, XIAO, Android, Quad Serial and ESP32 devices
Rules stay attached to the device, not the port. 6 rules · 6 connected

The path problem

Your board did not change. Its macOS path did.

A device can return as /dev/cu.usbmodem101 one minute and something completely different the next. Cold starts, hubs, multiple boards and reconnects all shuffle the names.

Without USBAlias

Today/dev/cu.usbmodemA4C8F1
Reboot/dev/cu.usbmodem101
Two boards/dev/cu.usbmodem1101
Scriptbroken port, again

With USBAlias

Today~/Aliases/ESP32_LAB
Reboot~/Aliases/ESP32_LAB
Two boards~/Aliases/RP2040_BENCH
Scriptsame path, every time

Match once. Use anywhere.

A tiny utility that fixes a very daily workflow.

USBAlias watches your serial devices and maintains the symbolic link while it runs. There is no daemon to configure and no change to your existing firmware tooling.

01 / CONNECT

Plug the board in

Choose it from the detected devices list. USBAlias captures its product, manufacturer and serial number.

02 / MATCH

Name the rule

Use a serial number for an exact match, or product and manufacturer when one alias should catch a class of boards.

03 / USE

Keep your path

Point the IDE, CLI or test harness at the alias. USBAlias repairs the link whenever the device comes back.

Made for real hardware work

From one board on a desk to a bench full of connected devices.

Serial ports are infrastructure. They should stay stable while you focus on the firmware, test or experiment in front of you.

Firmware and flash tools

Flash the same target without rebuilding your command.

Use the alias directly with ESP32, Arduino, RP2040 or custom flashing scripts. The board can be unplugged, reconnected or moved to another hub without changing the target path.

$ esptool.py --port ~/Aliases/ESP32_LAB chip_id
$ arduino-cli upload -p ~/Aliases/ESP32_LAB .
$ ./flash-bench.sh ~/Aliases/RP2040_BENCH
USBAlias Detected Devices view showing linked boards and their current macOS device paths
Detected Devices linked → stable

Serial consoles

One memorable path for every console session.

Skip the port scan before every screen, picocom or monitor command. Give each radio, development board or controller a name that matches what is actually on your bench.

$ screen ~/Aliases/RADIO_BENCH 115200
$ picocom -b 921600 ~/Aliases/FLIGHT_LOG
$ python monitor.py ~/Aliases/SENSOR_RIG
USBAlias General settings with notifications, connect and disconnect sounds, auto-link and launch options
Connect, disconnect and auto-link configured once

Multi-board test benches

Keep every board separate, even when they look alike.

Match on serial number so two identical development boards keep different aliases. When one disconnects, the others stay correct.

USBAlias shows the linked Mac port in the popup and list, so the current hardware path is always visible without opening Terminal.

Small app. Useful details.

Everything needed to keep a serial workflow sane.

The useful parts are visible from the menu bar. The rest stays out of your way.

Match the device, not the port

Product, manufacturer and serial number are all available for matching, with serial as the precise option.

Choose your aliases folder

Keep a clean set of stable links in a folder you choose, ready for every tool that accepts a device path.

Auto-link new devices

Watch for new serial devices and create a rule from the product name when one appears.

Live menu bar panel

See each alias, its state and the current linked Mac port without opening the main window.

Copy the path you need

Copy the alias or current hardware path directly from the app when a tool asks for one.

Know when hardware changes

Optional notifications and connect or disconnect sounds show the device name and linked port.

See what happened

A live activity log records connections, matches, link creation and the port behind each change.

No account. No ads.

No sign-in and no tracking. Optional anonymous diagnostics are explained at first launch.

Your hardware names stay on your Mac.

USBAlias does not need an account and does not open, read or write the serial device. Anonymous diagnostics are optional, clearly explained, and off unless you explicitly choose to share.

Read the privacy policy

Available now

Give your serial devices names you can remember.

One small Mac App Store purchase for every board, cable and test rig in your workflow. No subscription, no account and no server configuration.

Mac App Store price A$19.99

One-time purchase. Australian storefront price shown; other regions may vary.

View on the Mac App Store

Before you buy

A few practical answers.

More setup and troubleshooting help is available on the support page.

Does USBAlias open my serial device?

No. It asks macOS which serial devices are attached and creates a symbolic link to the current device path. It does not read or write the serial data itself.

What happens when the device reconnects?

USBAlias matches the newly connected device against your rules and updates its alias to point at the new /dev/cu.* path. Your tools keep using the same alias.

Can I use more than one identical board?

Yes. Match on serial number when two devices share the same product and manufacturer. That keeps each identical board attached to its own alias.

Where are the aliases stored?

In the aliases folder you choose. The App Store version is sandboxed, so it maintains those links inside a folder you grant it access to rather than writing to /tmp.

Is there a subscription?

No. USBAlias is a one-time Mac App Store purchase. The Australian storefront price is A$19.99; pricing in other regions is set by Apple's storefront pricing.