> windows · macos

Finally, a terminal built for multitasking.

One window for every terminal and AI agent you run. Tile Claude Code, Cursor, Copilot, tests, and deploys side by side — see which one needs you, preview files inline, and drop a screenshot into whichever tool is waiting. We don't sell you AI; we make the human running it faster.

Download for Windows Read the guide
Also for · Windows · macOS Apple Silicon Beta M1, M2, M3, or M4 chip. Most Macs from late 2020 onward. Check → About This Mac to confirm. · macOS Intel Beta Older Macs with an Intel processor. Typically 2020 or earlier.
Free download · No account · Auto-updates · Privacy Policy · Terms of Use
UnionTerminal desktop window with multiple tiled terminal sessions and an inline file preview panel
Works with
Claude Code Cursor GitHub Copilot Gemini CLI any CLI tool

why unionterminal

Not another AI app. The app for the humans running them.

Everything in your feed is selling you AI — more agents, more tokens, more hype. UnionTerminal isn't. We don't sell models and we don't meter your usage. We build the workbench where you and your tools work as one: every session in view, every blocked agent obvious, your flow intact. A union of humans and the tools they actually use.

No tokens to sell Local-first by default Your tools, in formation
Read the manifesto →

UnionTerminal is free to use. If it's become part of your workflow, a voluntary contribution helps us keep improving it.

Contribute

Multi-session workspace

Every session visible.
No tabbing required.

Tile as many terminals as you need — side by side, stacked, or in a grid. Status dots in the sidebar tell you which sessions are active, waiting for input, or idle without clicking into any of them. Run ten agents, see all ten.

Claude Code
Cursor Agent
✦ Claude Code ready
add JWT auth
✓ Done — 4 files changed
Agent ready
⠸ Refactoring Dashboard...
Extracting hooks
Waiting for review
▸ Building...
✓ Deploy successful
✓ Health check passed
PASS auth.test.ts
RUN token.test.ts
● Checking expiry...

Document preview

Shift+click a path.
Read it without leaving.

Path links in terminal output open a docked preview rail — markdown, code, and logs stay beside your session. A recents menu and Ctrl+Shift+← / → let you shuffle between files without leaving preview or focus view. Ctrl+F (⌘F on Mac) searches within the open document. Ctrl+Shift+O jumps into focus view for distraction-free reading; Esc returns to the docked panel. Ctrl+Shift+F toggles the preview rail; Ctrl+Shift+H hides or restores preview and clipboard together.

Shift+click · Ctrl+F · Ctrl+Shift+← → · Ctrl+Shift+O · Ctrl+Shift+F · Ctrl+Shift+H
~/auth-service claude
✦ Reading output...
 
✓ Updated src/routes/auth.ts
Shift+click to preview file
 
explain the rate limiter change
Referencing preview panel →
auth.ts ⌃⇧O
export rateLimit = {
  windowMs: 60_000,
  max: 100,
};
// token bucket via redis
 
router.post('/login', ...)
Shift+click path Recents menu Ctrl+Shift+← → cycle Ctrl+F find Ctrl+Shift+O focus Ctrl+Shift+F preview Ctrl+scroll zoom

Clipboard panel

Mark up a screenshot.
Drop the path in chat.

Screenshots and copied text live in a scrollable panel beside your terminals. Circle the bug, add an arrow, label what matters — then click or drag the image path straight into Claude Code, Cursor, or any CLI chat. Text goes in just as fast, ready for you to hit Enter.

Image annotation
here's the error — see the circled line
 
C:\Users\you\AppData\Local\Temp\union-screenshot.png
 
⠸ Analyzing image...
I can see the TypeError in
line 42 of auth.ts. Here's
the fix:
Clipboard
↑ click or drag to send
npm run deploy --prod

Scheduler

Queue it for later.
Keep working now.

Schedule a message to send to any terminal at a specific time — or on a recurring cadence. UnionTerminal delivers it while the app is running; if you quit or miss the window, overdue messages are waiting when you return so you can send or discard them.

While app is open
Scheduled
02:00
nightly · production
npm run deploy:prod
Deploy to production
scheduled
06:30
daily · staging
pg_dump myapp > backup.sql
Database backup
scheduled
08:00
weekdays
npm test -- --coverage
Morning test run
pending

Satellite mode

Launch a session.
Float it anywhere.

Pop any terminal out into its own floating window — full CLI fidelity, nothing simplified. Pin it on top while you work in another app, spot it by the soft accent glow rising from its base, then dock it back into the grid when you're done. Or collapse it to a Beacon — a small pinned chip with a live status light that stays put through sleep/wake. Run up to five Satellites at once, across every monitor.

Launch · Pin to top · Collapse to Beacon · Dock back · ⌘⇧D / Ctrl+Shift+D
Cursor Agent ~/auth-service active
✦ Agent ready
run the migration
✓ 3 tables updated
Preview & focus view
Shift+click path links for a docked rail; recents menu or Ctrl+Shift+← → to shuffle files. Ctrl+Shift+O for centered reading.
Annotate screenshots
Draw arrows, circles, and labels on clipboard images before sending the path to your agent.
Color code everything
Assign an accent to any terminal or group. Orient instantly across as many sessions as you're running.
Workspace persists
Names, groups, colors, and layout are restored after a quit, update, or crash.
Any shell
PowerShell 7, CMD, Git Bash, WSL — all from a single split button.
Updates itself
New versions arrive in the background. One click to install, nothing to reinstall.

Trust

Local-first by design

Nothing leaves your machine

No commands, file paths, clipboard, or terminal output is ever collected. Your work stays local — that's the default, not a setting you have to find.

No account, no lock-in

Download and go. There's no sign-up, no login, and nothing to cancel. Your shells, models, API keys, and project configs stay entirely in your own tools.

Anonymous by default

We count installs without tracking people — aggregate numbers only, no profiles. Detailed feature telemetry is strictly opt-in. See the privacy policy.

System requirements

What you need

Windows
  • Windows 10 or later (x64)
  • No additional runtime required
  • ~120 MB installed
macOS Beta
  • macOS 12 Monterey or later
  • Apple Silicon (M1/M2/M3/M4) or Intel
  • ~180 MB installed

Install: Open the disk image, drag Union Terminal to Applications, then launch from there. macOS may ask you to confirm the developer on first open — normal for downloaded apps.

Use cases

Built for AI coding & CLI multitasking

More than Windows Terminal or iTerm

UnionTerminal wraps the shells you already use — it does not replace them. You get a workspace layer: layouts, sidebar status, DocView preview, clipboard rail, and hide/restore without killing sessions.

See every agent at once

Status dots show which sessions are active, waiting for input, or idle. Hide terminals to declutter the grid while shells keep running — restore from the sidebar when you need them again.

Common questions

FAQ

Built for developers juggling PowerShell, WSL, and AI CLIs — when tabs hide blocked agents and alt-tab breaks your flow.

Terminal & workspace pain

What is UnionTerminal?
A free desktop workspace that tiles many terminal sessions in one window — run agents, deploy scripts, and tests side by side instead of digging through tabs.
I already use Windows Terminal or iTerm — why UnionTerminal?
Those are great terminals for one session. UnionTerminal is for many at once: see every CLI in a grid, spot which one is blocked, preview files beside your work, and hide sessions you are not using without killing the shell.
How do I know which terminal needs my input?
Status dots on each session: green = active output, yellow = waiting for input, gray = idle. Scan the sidebar instead of clicking through tabs to find the agent that is stuck on a prompt.
Can I hide terminals without closing the shell?
Yes. Minimize a session out of the grid — processes keep running. Restore from the sidebar, tab bar, or group controls when you need it again.
Does my layout come back after quit, crash, or update?
Yes. Session names, groups, colors, and layout are restored on relaunch. Auto-update installs in one click without rebuilding your workspace by hand.
Can I preview files without alt-tabbing to an editor?
Click a file path in any terminal to preview in DocView beside that session when the file exists. Shift+click when the path cannot be resolved. Ctrl+click (⌘ on Mac) opens in your default app. Search in-document with Ctrl+F and jump back to the source terminal when you need to paste a citation.
How do I send a screenshot into Claude Code or Cursor?
Open the clipboard rail (Ctrl+Shift+K), capture or annotate an image, then click or drag it into the terminal that should receive it — no saving to disk and copying paths manually. Already have an image on the clipboard? Just paste (Ctrl+V / ⌘V) in a terminal and UnionTerminal drops its file path into your prompt.

Shells & AI tools

Which shells work on Windows?
PowerShell 7, CMD, Git Bash, and WSL — pick per terminal from the + New terminal menu, or browse for a custom shell executable. macOS uses your usual zsh/bash.
Which AI tools does it work with?
Any CLI — Claude Code, Cursor, GitHub Copilot, Gemini CLI, your test runner, deploy scripts, and more. UnionTerminal does not install or configure agents; it organizes the terminals you already launch. AI coding workflows.
Does UnionTerminal replace my terminal or AI agent?
No. It is a window manager around your existing shells. Models, API keys, extensions, and project configs stay in your tools.

Trust & platform

Is it free? Do I need an account?
Free to download, no account. Optional anonymous usage sharing is off by default (privacy policy).
What data leaves my machine?
Nothing from your terminals — no commands, file paths, clipboard, or output. UnionTerminal does send an anonymous once-a-day install count (a random ID, your OS, and app version — no content) so we can gauge real usage; turn it off anytime in Settings or with DO_NOT_TRACK. Detailed feature sharing stays off until you enable it.
What platforms are supported?
Windows 10 or later (x64) and macOS 12 Monterey or later (Apple Silicon and Intel; macOS is currently in beta).