UARTist
A serial console for hardware bring-up. Open several ports in tabs, keep every line with its time, and see the bytes when the device answers in binary.
Free. No account, no ads, and the app goes online only when you ask it to update.
macOS 11 or later on Apple silicon · Windows 10 and 11 · Ubuntu 22.04 or later, Fedora

What it does
Tabs
One per port, all connected at once. When the adapter is unplugged, the session waits and reconnects by itself.
Timed log
Every line with its local time and the time since the session started, numbered.
Hex view
Every byte sent and received, grouped into frames, with the milliseconds between a command and its reply.
Filter tabs
tail -f | grep on a port: the matching lines as they arrive, and saved to a file when you want them.
Saved commands
Text and hex commands as buttons, in sets per board or project, exported and imported as files.
Recording
Each session kept on your computer as raw bytes and timed lines; old ones are cleaned up for you.



Ways to use it
At the bench
The board's console in one tab, the debug adapter in another. Unplug and replug: the tab waits and picks up again. Every line keeps its time and the time since boot; switch to hex when the device answers in binary. If uart-proxy already holds the port, UARTist joins it instead of fighting for it.
With Claude Code: the skill
The skill teaches Claude Code to install UARTist, check its version, and drive the open window from the command line.
npx --allow-remote=all https://uartist.app/claude-skill/ install --global
Open COM3 at 115200 in UARTist and tell me which kernel version booted.
Claude opens the tab with uartist open and reads it with
uartist tail. It asks you before it installs anything or sends to the device.
With an AI tool: MCP
Connect Claude Code, Claude Desktop or another MCP client, then set a tab to AI: read only (or read & send). The tool reads what the device says, live, while you keep working at it.
claude mcp add uartist -- /Applications/UARTist.app/Contents/MacOS/UARTist --mcp
Wait until the board prints “login:” and tell me how long the boot took.
On Windows: claude mcp add uartist -- uartist --mcp. For other
tools, MCP config in the status bar copies what they need.
Rules: when it says X, do Y
A text, a pattern, bytes, a silence, or the device dropping: mark the line, tell you, or reply. A rule that sends acts only after you approve it.
uartist rules add --text "Kernel panic" --mark --notify --name panic
Scripts and SSH
Record a port for a while and get the result as JSON, or work the open window from
a script or another machine: tabs, tail, send.
uartist record COM3 --seconds 60 --json
On macOS the command is the app's own,
/Applications/UARTist.app/Contents/MacOS/UARTist; Homebrew links it as
uartist, or make an alias.
Sharing with AI tools is off by default and listens on this computer only; what an AI tool sends is marked in the log. The AI tool you connect may send what it reads to its own service.
Install
macOS (Apple silicon)
With Homebrew:
brew install --cask changyy/tap/uartist
Or one line in Terminal. It checks the download's SHA-256 before it installs anything, asks for no password, and prints every step (read it first):
curl -fsSL https://uartist.app/install.sh | sh
Or download the disk image and drag UARTist into Applications. UARTist is not notarized yet, so macOS refuses it the first time: choose System Settings → Privacy & Security → Open Anyway.
Windows 10 and 11
From the Microsoft Store, which keeps it up to date, or with winget:
winget install --id 9MTZSLT89V5X --source msstore
Or, where the Store is not available, the portable app:
unzip it anywhere and run UARTist\UARTist.exe. It is not signed, so the
first time Windows may say Windows protected your PC: choose
More info → Run anyway. It does not update itself.
Linux (Ubuntu 22.04 or later, Debian, Fedora — x86_64 and arm64)
One line, for your account only — no sudo. It checks the download's
SHA-256, puts UARTist in ~/.local and the app menu, and prints, without
running them, the steps that need an administrator (read it first):
curl -fsSL https://uartist.app/install.sh | sh
Or the system's package manager, which also brings in WebKit2GTK:
sudo apt install ./UARTist-linux-amd64.deb
sudo dnf install ./UARTist-linux-x86_64.rpm
Download the .deb /
.rpm /
portable .tar.gz (x86_64), or for arm64 the
.deb /
.rpm /
.tar.gz.
To open serial ports, your account needs the dialout group, once:
sudo usermod -aG dialout $USER, then log out and in.
Run the one line again to update; to remove it:
curl -fsSL https://uartist.app/install.sh | sh -s -- --uninstall
Claude Code
Teach Claude Code to use UARTist — installing it, its command line, its MCP server, and what to ask you first:
npx --allow-remote=all https://uartist.app/claude-skill/ install --global
Or --local for one project. The skill is the same version as the
app; the zip unpacks into
.claude/skills/ by hand.
With UARTist installed, it installs the skill of its own version, no Node needed:
uartist skill install
--allow-remote=all lets npm 12 and later fetch a package from a
URL (they refuse by default; earlier npm ignores the flag). On Windows, if PowerShell says
running scripts is disabled, type npx.cmd instead of npx,
or use PowerShell 7 or the Command Prompt.