Serial console for Mac

Serial console on your Mac, next to your servers

Noden is a native macOS app that speaks SSH, SFTP, RDP and serial console. Since version 1.1.7 you can plug in a USB-to-serial adapter and reach the console port of a switch, router or firewall — in the same window, and the same tab strip, as your SSH terminals. It runs on macOS 13 Ventura and later, on both Apple Silicon and Intel.

Published July 30, 2026 · By Useroam Teknoloji

Why a serial console on a Mac?

When a switch, router or firewall is misconfigured, freshly unboxed, or simply not reachable over the network, the console port is the way in. That is the out-of-band path: it does not depend on an IP address, a working config or a reachable management VLAN. On a Mac the usual answer has been a separate terminal utility and a USB-to-serial cable in a different window. Noden folds it in — the console session sits in the same sidebar and tab strip as your SSH terminals, so recovering a device and jumping back to a working host is one window, not three apps.

What Noden's serial console does

  • USB-to-serial, detected automatically. Plug in an adapter and it appears in the connection list; Noden refreshes the device list on its own, so you do not restart to see a cable you just connected.
  • Vendor baud presets. Cisco 9600, FortiGate 9600, Sophos XG 38400, MikroTik 115200, Aruba CX 115200 and Ubiquiti 115200 — from the vendors' own console documentation, so you are not guessing the speed of an unfamiliar box.
  • Correct serial defaults. 8 data bits, no parity, 1 stop bit (8N1) and no flow control — the standard three-wire console setup. Hardware flow control on a three-wire cable makes the link look dead; Noden leaves it off.
  • Uses the call-out device. Noden opens /dev/cu.*, not /dev/tty.*, so a console cable that never asserts carrier does not hang the connection on open.
  • Survives an unplugged cable. Pull the cable and the session ends cleanly instead of spinning the CPU — normal for a technician who moves a cable from box to box.
  • Same terminal, same habits. The console uses the same terminal view, themes and history as an SSH session; carriage-return line endings are handled for gear that expects CR.
  • Saved like any connection. A serial connection is stored, grouped and reopened exactly like SSH and RDP; there is nothing extra to configure each time.

Vendor console speeds at a glance

Cisco IOS / IOS-XE9600 · 8N1 · no flow control
FortiGate9600 · 8N1 · no flow control
Sophos XG / XGS38400 · 8N1 · no flow control
MikroTik RouterBOARD115200 · 8N1 · no flow control
Aruba AOS-CX115200 · 8N1 · no flow control
Ubiquiti EdgeRouter115200 · 8N1 · no flow control

These are the presets Noden offers; you can set any other speed by hand. When a device does not respond, the speed is almost always the reason — pick the vendor preset and the prompt appears.

Which port is my adapter?

macOS does not name serial ports COM1. Each adapter appears as a file under /dev, and the name tells you which chip is inside it. Open Terminal and list them:

ls /dev/cu.*

Anything that is not cu.Bluetooth-Incoming-Port or cu.debug-console is a real port. Match the name against this list:

/dev/cu.usbserial-…FTDI (FT232R, FT232H) and most Prolific PL2303 cables — the common blue and grey console cables
/dev/cu.wchusbserial…WCH CH340 / CH341 — the chip in most inexpensive adapters and clone boards
/dev/cu.SLAB_USBtoUARTSilicon Labs CP210x, when the vendor's VCP driver is installed
/dev/cu.usbmodem…A device with USB built into it rather than a separate cable — a Cisco mini-USB console port, an ESP32 or Arduino board, many appliances

Nothing at all in the list means macOS has not recognised the adapter: the cable is charge-only, or the chip needs a driver from its maker. Check System Information → USB — if the adapter is not there either, the problem is the cable or the port, not the software.

Why cu. and not tty.? Every port shows up twice. The tty.* device is the dial-in side: opening it blocks until the other end asserts carrier detect, and a three-wire console cable never does — so the connection appears to hang forever. The cu.* device is the call-out side and opens immediately. Noden always uses cu.*; if you are working by hand, use it too.

Doing it with screen instead

You do not strictly need an app. macOS ships screen, which speaks serial:

screen /dev/cu.usbserial-A50285BI 9600

Press Enter once connected — most consoles print nothing until they see input. To set the line explicitly rather than trusting the defaults:

screen /dev/cu.usbserial-A50285BI 9600,cs8,-parenb,-cstopb,-hupcl

That reads as 9600 baud, 8 data bits, no parity, one stop bit, and no hangup on close. Leaving is the part that catches people: Ctrl-A then K then y kills the session. Ctrl-A then Ctrl-D only detaches it, which leaves the port locked — if a later connection reports the device is busy, that detached session is why. Find it and end it:

screen -ls
screen -X -S 12345 quit

What screen will not do is remember the connection, carry a per-vendor speed, sit in the same window as the SSH session you are about to jump back to, or fail cleanly when someone pulls the cable out. That is the whole difference between a command and a client — for one recovery it is fine, and for a rack of them it is not.

When the switch is on the network: SSH to old gear

The console port is the fallback. Most days the switch has an IP address and you reach it over SSH — and that is where a Mac client can fail in a way the console never does: the session dies in the first second, before any password prompt, because the device offers cryptography current clients dropped on purpose.

Noden reaches that hardware. It offers the older algorithms last, so modern servers still negotiate curve25519 and AES-GCM, and it handles the four other things that stop a Mac client at the door of a switch — SSH-1.99 banners, keyboard-interactive prompts, non-16-byte-aligned AES-CTR packets, and sessions that never finish connecting.

Full detail, with what each failure looks like: why your Mac SSH client refuses the switch.

Noden's serial console at a glance

PlatformmacOS 13 Ventura or later, Apple Silicon and Intel
ProtocolsSSH, SFTP, RDP and serial console in one app
HardwareAny USB-to-serial adapter macOS exposes as /dev/cu.*
Defaults8N1, no flow control; per-vendor baud presets
Use caseOut-of-band access to switch, router and firewall console ports
PriceFree for up to 5 connections of any type; Pro is USD 5.99 first year, then USD 10.99/year

When a serial console will not help you

  • The device has no console port. Noden reaches hardware over a USB-to-serial adapter — if the appliance is management-network-only, this is not the path.
  • You need console access from something other than a Mac. There is no Windows, Linux, iPad or phone build.
  • You want out-of-band access over a dedicated console server or IP-KVM. Noden talks to an adapter plugged into your own Mac, not to a remote console concentrator.

Troubleshooting

The adapter does not show up in the list

The device list refreshes while the connection editor is open, so the adapter can be plugged in after the form is open. If it still does not appear, macOS itself is not seeing it — confirm with ls /dev/cu.* (see which port is my adapter). An empty list there means the chip needs a driver from its maker, or the cable is charge-only.

The console is blank or prints garbage

The baud rate is wrong. Noden carries presets from vendor documentation: Cisco 9600, FortiGate 9600, Sophos XG and XGS 38400, MikroTik 115200, Aruba CX 115200, Ubiquiti 115200 — all 8N1 with no flow control.

You need to change data bits, parity or flow control

All of them are configurable on the connection, alongside the baud rate — the presets are a starting point, not a limit.

You are wondering whether this costs extra

Serial connections are included in the free version and count towards the five saved connections.

Frequently asked

Do I still need a separate serial terminal app?

No — that is the point. The console session lives in the same window as your SSH, SFTP and RDP sessions, so you configure a device over the cable and jump straight back to a working host without switching apps.

How do I find the name of my serial port on a Mac?

Run ls /dev/cu.* in Terminal. The name tells you the chipset: /dev/cu.usbserial-… is FTDI or Prolific, /dev/cu.wchusbserial… is a CH340 or CH341, /dev/cu.SLAB_USBtoUART is a Silicon Labs CP210x with the vendor driver installed, and /dev/cu.usbmodem… is a device with USB built in, such as a Cisco mini-USB console port. If nothing appears, macOS has not recognised the adapter — check System Information under USB.

Why cu and not tty on macOS serial ports?

Every port appears twice. The tty.* device is the dial-in side and blocks on open until carrier detect is asserted, which a three-wire console cable never does, so the connection looks like it has hung. The cu.* device is the call-out side and opens immediately. Use /dev/cu.* for console work; Noden always does.

Can I use the screen command instead of an app?

Yes. screen /dev/cu.usbserial-XXXX 9600 opens a console session, and adding ,cs8,-parenb,-cstopb,-hupcl sets 8N1 explicitly. Quit with Ctrl-A K yCtrl-A Ctrl-D only detaches and leaves the port locked, which is the usual cause of a "device busy" error. What screen does not do is save the connection, carry per-vendor presets, sit beside your SSH sessions, or end cleanly when the cable is pulled.

My device shows nothing when I connect. Why?

It is almost always the baud rate or flow control. Pick the vendor preset for your device (they are listed above), confirm 8N1 with no flow control, and press Enter. On a three-wire console cable, hardware flow control must be off or the link looks dead.

Is the serial console included in the free version?

Yes. Serial connections count toward the free tier's five saved connections of any type, so you can use the console without buying Pro. Pro removes the connection limit, keeps full history and adds the AI assistant.

Can Noden SSH to an old Cisco, Ruijie or Comware switch?

Yes. Noden offers legacy key exchange, ssh-rsa host keys and AES-CTR ciphers when a device has nothing newer, accepts devices that announce themselves as SSH-1.99, and signs in through keyboard-interactive prompts with a saved password. See SSH to old gear for what each of those means in practice.

Why do other Mac SSH clients refuse my switch?

Because refusing it is deliberate. Modern clients removed SHA-1 key exchange, ssh-rsa host keys and CBC ciphers for good security reasons, and a switch that offers nothing else has no overlap left to negotiate. A stricter version check adds to it: a device announcing SSH-1.99 is claiming 2.0 support, but a client comparing only the first three characters reads it as an unsupported 1.x. Noden keeps the modern algorithms first and falls back only when the device leaves no alternative.

Do the legacy algorithms weaken my modern servers?

No. The older algorithms sit at the end of the offer list, so a server that supports curve25519, Ed25519 and AES-GCM negotiates exactly those, as before. The legacy set is reached only when the other end offers nothing else — and SSH 1.5, which cannot be made safe, is refused outright.

Download Noden for Mac

Free to start, no account required.

brew install --cask useroamteknoloji/tap/noden

See also: SSH, SFTP and RDP in one app · RDP client for Mac · macOS SSH client guide · Best SSH client for Mac · Noden vs SSHive · Noden vs Terminalus · Documentation