Documentation

Get going with Termary

A native macOS terminal with IntelliJ-style split panes, named groups, SSH, and an in-app browser your coding agent can drive. Here's everything you need to start.

Install

Termary needs macOS 14 (Sonoma) or later. It runs natively on Apple Silicon and Intel.

brew install --cask termary

Prefer a direct download? Grab the universal .dmg. On first launch, right-click the app and choose Open to get past Gatekeeper.

Panes, tabs & groups

Termary's layout is one tree: Group → Pane → Tab. A tab is exactly one live shell. A pane is a slot in the split layout and has its own tab strip. A group is a named, colored container holding a whole split layout — keep an api group, an infra group, a scratch group.

The key idea: a shell lives in exactly one place, so when you split, move, or regroup a pane the process never restarts and never loses scrollback. Drag a tab to a pane's edge to split there; drag to its center to move it in; drag a pane's grip onto another pane to swap them.

Splitting & layouts

Splitting is the heart of Termary. Every split keeps the live process running — you're rearranging windows onto shells, not restarting them.

Split with the keyboard

⌘DSplit right — move the active tab into a new pane beside this one
⌘⇧DSplit down
⌘⇧WClose the pane (its tabs collapse into the neighbour)

Split by dragging

  • Drag a tab to a pane's edge (top, bottom, left, right) to split there — the tab lands on that side.
  • Drag a tab to a pane's center to move it into that pane's tab strip instead.
  • Drag a pane's grip (≡ in its strip) onto another pane to swap their positions.

Layout presets

Pick a ready-made arrangement from the layout menu in the toolbar: 2×2, even columns or rows, a main + right split, up to an 8-up grid. A single layout can mix terminals and browser panes side by side.

Broadcast input

Press ⌘⇧B to pick a set of tabs and type once into all of them — handy for running the same command across several SSH hosts at once.

Keyboard shortcuts

⌘TNew tab in the focused pane
⌘WClose tab (collapses the pane if it was the last)
⌘⇧WClose the whole pane
⌘DSplit right — move the active tab into a new pane
⌘⇧DSplit down
⌘1–9Switch to group 1–9
⌘PCommand-history picker
⌘FFind in terminal
⌘⇧BBroadcast input to selected tabs
⌃↑Window overview grid

Double-click a tab title to rename it; double-click a group name to rename the group.

SSH & the vault

Add a saved SSH host from the sidebar's SAVED SSH section. Click a row to connect it into the focused pane; hover to edit or delete.

Saved hosts are stored in an encrypted vault, never in plaintext: a device-only key in the macOS Keychain seals the host list with AES-GCM. Only metadata is kept — host, user, port, key-file path. No passwords are collected and private keys never leave ~/.ssh.

Browser panes

A pane can hold a web page instead of a shell. It lives in the same split tree as any terminal — split it, move it, swap it, broadcast to it — so you can keep your dev server, its logs, and the running site all in one window.

Each browser pane is a real, inspectable browser, not a preview:

  • Network panel — a DevTools-style list of every fetch/XHR with request and response bodies.
  • Console capture — logs and errors, surfaced in the pane and available to your agent.
  • Device mode — render at a phone width with a mobile user-agent; zoom, or "Fit Pane" to resize the split to the device.
  • Web Inspector — Safari's inspector is enabled for deep debugging.
  • Activity — the page's real WebContent CPU/RAM shows in the Activity panel, and you can mute audio per pane.
  • Capture & annotate — screenshot the pane (markers and drawings included) or mark it up — see below.
New · Pro

AI agent bridge (MCP)

Run Claude Code or Codex in a terminal pane and let it observe and drive a browser pane in the same window — open pages, click, type, read the console and network, take screenshots, and rearrange panes. Termary ships a native MCP server inside the app.

  1. Turn the bridge on: Settings → Terminal → AI Agent Bridge. It's off by default and binds to loopback (127.0.0.1) with a per-session bearer token.
  2. Register the bundled server with your agent:
    claude mcp add termary -- /Applications/Termary.app/Contents/Resources/termary-mcp
  3. Ask away — e.g. "open the login page and tell me what's in the console." The agent uses browser_*, panes_*, and session_* tools (around 34 in all).

The tools

The agent gets around 34 tools across three families:

  • browser_*drive a page (open, navigate, click, type, eval, wait, back/forward/reload), read it (snapshot, text, html, console, network, errors, screenshot, cookies), and shape it (viewport, zoom, fit_pane, annotate, annotations).
  • panes_* — arrange the window: tree, open, split, swap, ratio, layout (presets incl. 8-up), list_layouts. Placement is position-aware, so the agent reuses panes instead of piling up duplicates.
  • session_*last and restore the workspace.

The bridge is loopback-only and disabled until you flip the toggle — nothing is exposed to the network and no agent can reach it without the session token.

The agent bridge and annotation are Termary Pro features.

Annotating a page

Sometimes the fastest way to tell an agent what you mean is to point at it. Open the annotation toolbar on a browser pane and:

  • Pick a single element — drops a numbered marker and a comment popover with its selector and computed CSS.
  • Multi-select a group of elements, or mark a free region.
  • Draw with a pen, arrow, box, or text in your choice of color.

Hit Send and Termary packages the structured element data plus an annotated screenshot, hands it to the agent, and types a summary into the focused terminal.

Find, history & ports

⌘F opens find-in-terminal to search the current scrollback. ⌘P opens the command-history picker — fuzzy-search the commands you've typed, scoped to this terminal or shared across all of them.

Termary watches for dev servers: when a process starts listening on a port it surfaces it (via lsof), so you can spot :3000 at a glance and open it straight into a browser pane.

Themes & appearance

Open Settings from the sidebar gear. Pick a terminal palette — Apple Default, Solarized, Dracula, and more — and a code-editor font. The whole app follows the theme, not just the terminal surface.

Appearance can track the system, or be pinned to light or dark independently.

Session restore

Quit and come back to the same workspace. On relaunch Termary restores every group, split, and tab. Local tabs reopen a fresh shell in their last working directory; SSH tabs return idle so a stale connection never silently re-runs ssh — a one-time prompt lets you reconnect them all or pick them off individually.

Question not answered here? Email us or check the changelog.