Layouts
Tile multiple terminals side by side, stacked, or in a grid. Mix horizontal and vertical splits on one screen, balance uneven sashes, and drag tabs between tiles to swap positions.
- Use the layout buttons in the toolbar, or
- Press Ctrl+Shift+1 (single), 2 (columns), 3 (rows), 4 (grid) — on Mac use Control, not Command.
- Split the active panel from a tab's hover icons or its right-click menu — or Ctrl+Alt+Arrow (↑ above · ↓ below · ← left · → right). Presets balance automatically.
- Balance restores even pane sizes without changing your split structure (right-click a tab → Balance panes).
Mac: ⌃⇧1 · 2 · 3 · 4 · ⌃⌥Arrow split · right-click Balance
Selecting text
Drag with the mouse to select terminal output, or use mark mode for full keyboard selection — the same scrollback you can copy with the mouse.
- Ctrl+Shift+M toggles mark mode (crosshair cursor). Arrow keys move the cursor; hold Shift and use arrows, Home, End, or PgUp/PgDn to highlight.
- Ctrl+Shift+Home / Ctrl+Shift+End in mark mode selects from the cursor to the top or bottom of scrollback.
- Ctrl+A (Mac: ⌘A) selects all scrollback without entering mark mode.
- After mouse-selecting, Shift+Home and other Shift+nav keys extend the highlight without entering mark mode.
- Ctrl+C copies the selection (or sends SIGINT when nothing is selected). Enter in mark mode copies and exits.
- Esc clears the selection and exits mark mode.
Ctrl+Shift+M mark mode · Ctrl+A select all · Shift+nav extend
Groups & colours
Organise terminals in the sidebar and colour-code sessions or groups for at-a-glance context.
- Right-click a terminal or group in the sidebar.
- Choose a colour or create / rename groups.
Satellite mode
Pop any terminal out into its own floating window — full CLI fidelity, nothing simplified. A Satellite is the same live session, just detached, so you can keep an agent or long-running command in view while you work elsewhere.
- Launch from the ✦ button on a terminal tab, the sidebar card actions, or the right-click menu.
- The window shows a compact chrome with live cwd, git branch, and status, plus a soft accent glow rising from the base so a focused Satellite is easy to spot.
- Pin (chrome pin button) keeps it on top of other apps. A Satellite gently ghosts (fades) whenever it isn't the focused window, so it stays out of the way until you need it.
- Click its sidebar card to summon and focus it — the card stays bright while the session is launched.
- Dock it back to UnionTerminal with the chrome train button or Ctrl+Shift+D (Mac: ⌘⇧D). Closing the window docks it too — the shell keeps running.
- Ctrl+Alt+S (Mac: ⌘⌥S) summons or hides every Satellite at once.
- Run up to five Satellites at once; new ones cascade into place and reopen where you left them.
- Beacon mode — collapse a Satellite to a small floating chip (the Collapse to Beacon chrome button) showing its live status light and session colour. Click the chip to expand it back, or dock it to UnionTerminal. Beacons stay put through sleep/wake, and re-home to your primary screen if you unplug the monitor they were on.
Ctrl+Shift+D dock · Ctrl+Alt+S summon all · Beacon · up to 5
DocView & Focus view
Preview markdown, code, logs, and static HTML beside your work. The toolbar Preview button (or Ctrl+Shift+F) toggles the docked preview rail. Focus view expands the document for distraction-free reading.
- File and folder paths in terminal output are detected automatically. Hover for name, type, size, and whether the path was found.
- Click previews the file in the docked rail when it exists; folders reveal in Explorer or Finder. No error if the path is missing — use hover to check first.
- Shift+click previews with help when the path cannot be resolved (highlight the full path and try again).
- When auto-detect misses a path, highlight it and use Shift+click (Ctrl, ⌘, Alt, or middle-click also work).
- Ctrl+click (Mac: ⌘+click) opens in your default app.
- Ctrl+Shift+click (Mac: ⌘+Shift+click) reveals in Explorer or Finder.
- Alt+click (Mac: Option+click) or middle-click copies the quoted path.
- https:// links: click opens in your browser; Alt+click copies the URL.
- Every preview you open is added to recents automatically. Open the clock menu in the preview header to pick any recent file (with filename, path, and source terminal), or press Ctrl+Shift+← / Ctrl+Shift+→ to move up or down the list (same order as the dropdown, loops at the ends). Works in the docked panel and in focus view.
- Press Ctrl+Shift+O for focus view; Esc returns to the docked panel (or closes the find bar first when it is open).
- Press Ctrl+F (Mac: ⌘F) to search within the open document in the docked panel or focus view. Enter and Shift+Enter step between matches; Esc closes the find bar.
- Use the palette button to cycle theme, light, or dark reading colours.
- Header actions: open file (default app), reveal in folder, reload, copy, and jump back to the source terminal when it still exists.
- If the source terminal is gone, use New terminal in the header to spawn a shell in the file's folder.
- Highlight text in the preview, then press / to ask about the selection. Insert in terminal (or Ctrl+Shift+Enter) types the citation into the linked terminal without running it — useful for stacking several excerpts before you send. Send in terminal (or Enter) pastes and submits in one step. Click the terminal once before typing if keyboard input seems unresponsive after several inserts.
- Ctrl+scroll (Mac: ⌘+scroll) zooms preview text.
- Ctrl+Shift+H hides or restores preview and clipboard rails together.
HTML: Open in browser for full scripts
Clipboard & annotate
Capture screenshots and text, annotate images, then drop paths into Claude Code or any CLI.
- Open the clipboard rail (toolbar Clipboard or Ctrl+Shift+K).
- Capture a screenshot or copy text — click or drag into a terminal.
- Annotate images with circles, arrows, and labels before sending.
- Paste a screenshot — with an image on the clipboard, Ctrl+V (Mac: ⌘V) in a terminal drops the image's file path into your prompt, so tools like Claude Code can read it. Dragging an image file in works the same way.
Scheduler
Queue messages to a terminal at a set time or on a recurring interval while UnionTerminal is open.
- Open the schedule control in the sidebar.
- Pick a terminal, message, and time (or recurrence).
- Overdue messages appear when you return to the app.
Status dots
Each terminal shows a coloured dot: green = active output, yellow = waiting for input, gray = idle.
Settings
Open Settings in the sidebar footer. The panel is searchable — use the box at the top to filter by topic (theme, terminal, hotkey, privacy, editor).
Appearance
Default theme sets the startup look; cycle the current theme anytime from the toolbar. Preview reading colours chooses the default palette when you open DocView (theme, light, or dark).
Shortcuts
Show / focus UnionTerminal — global hotkey to bring the app forward from anywhere on your desktop. Pick a preset or turn it off.
Terminal
New terminal startup — optional starting folder and commands (one per line) when you open a fresh terminal with + or Ctrl+Shift+T (not restored sessions or explicit folder opens).
Clear scrollback sync — off by default. When enabled, Union can clear its own scrollback when the shell wipes the screen (cls, Clear-Host) or when you run configured slash commands (e.g. /clear, /compact). Manual clear from the terminal right-click menu always works.
Terminal scrollbar — Thin (default) or Comfortable width inside terminal panes only.
Shell integration — on by default. Reports live shell cwd so relative paths like ./file.ts and package.json resolve as you cd. Works in PowerShell (Windows), bash, and zsh (macOS). Turn off if a custom shell setup conflicts.
Scroll to bottom — when you scroll up in a long session, click the ↓ control at the bottom-right to return to live output.
Anonymous usage
On by default, and one tap to turn off. Counts installs and which features get used — a random ID, your OS, and version — never commands, file paths, or terminal output. We count installs; we never track people or see your content. Honors DO_NOT_TRACK. A separate Help shape the product option (off by default) links anonymous usage to a random ID for deeper research, and is resettable/deletable anytime. See our Privacy Policy.
Feedback
Send feedback from the Feedback link in the sidebar footer. Choose a category (Bug, Idea, Workflow, or Other) and optionally add a reply email.
Editor connections
Connect external editors (Cursor, VS Code, etc.) so paths and terminals open in the right tool. See the Connections section in Settings.
Shells
Use the split button on + New terminal to pick PowerShell, CMD, Git Bash, or WSL. The chevron menu lists every detected shell; your choice is remembered as the default for the main + button. Add custom shells via Browse for shell executable in that menu.
Common workflow questions
Day-to-day terminal pain
How do I open a file path from terminal output?
Click to preview in DocView when the file exists (including paths wrapped across narrow rows). Shift+click when the path cannot be resolved — you'll get tips to highlight the full path. Ctrl+click (⌘ on Mac) opens in your default app. Use recents (Ctrl+Shift+←/→) to jump between files you have opened.
Ctrl+V or ⌘+V stopped pasting in an old terminal — what do I do?
Click the terminal pane once to refocus it, then paste again. Union refocuses the terminal before paste when possible. If clipboard read still fails, native paste is allowed to run. After workspace restore, scrollback may show a frozen TUI from the previous session while input goes to the live shell — click the terminal and paste as usual.
How do I tile more than two terminals?
Use toolbar layout buttons or Ctrl+Shift+2 (columns), 3 (rows), 4 (grid). Drag tabs between tiles to rearrange. On Mac use Control, not Command.
Where did my terminal go when I hid it?
Hidden sessions stay in the sidebar — click the card to restore. The shell keeps running; status dots still show if it needs input.
PowerShell, WSL, or Git Bash — can I pick per terminal?
Yes. Use the split button on + New terminal to choose a shell for each session. Your last choice becomes the default for the main + button.
How do I auto-start Claude or Cursor in a project folder?
Settings → New terminal startup: set a starting folder and one command per line (e.g. claude). Applies to new terminals from +, not restored sessions.
AI & multitasking
How do I know which agent is waiting for me?
Check sidebar status dots — yellow means waiting for input. Tile layouts help when you run several agents and do not want to tab-hunt.
More on multitasking and AI workflows: homepage FAQ · AI coding