Every chord.

tterm is keyboard-first, but with one hard rule: only ⌘-chords are ever intercepted. ctrl, escape, and every plain key belong to the terminal — your TUIs, your shell, your Claude sessions see them untouched. Everything below lives in one hot-reloaded keybindings.json; unbound actions are a ⌘K away.

Tabs

A tab is a project — or a browser page.

⌘TNew tab opens a shell in the current project
⌘⇧WClose tab
⌘⇧TReopen closed tab panes respawn, layout intact
⌘1⌘9Jump to tab 1–9

Panes

Real PTYs in a recursive split tree — rendered flat, so it stays fast.

⌘D / ⌘⇧DSplit right / split down
⌘⇧CNew Claude Code pane launches claude --dangerously-skip-permissions
⌘WClose pane
⌘⇧⏎Zoom pane one pane fills the window; press again to restore
⌘⌥←→↑↓Move focus between panes
⌘K paletteRestart pane respawn a dead or wedged pty in place
⌘K paletteClear terminal
⌘= / ⌘− / ⌘0Zoom in / out / reset terminal font or browser page — whichever is focused
⌘K paletteSave / load a pane layout
⌘K paletteSend a test notification check that macOS alerts from tterm fire when a run needs you

Projects & navigation

tterm launches straight into the project picker — pick a repo, get a row: explorer, Claude, viewer.

⌘KCommand palette every action, fuzzy-searched, frecency-sorted
⌘OOpen project ⏎ stacks it as a row · ⌘⏎ opens a tab · clone a repo from the top of the list
⌘PQuick-open a file ⇥ widens scope to every open project
⌘⇧FSearch in files git grep, includes untracked
⌘EToggle file tree
⌘FFind in the focused terminal, browser page, or file
⌘⇧MOpen the project's CLAUDE.md
⌘K paletteSelect theme · open keybindings.json

Assistant

A Claude that lives in the sidebar and can act, and it rebuilds tterm from the inside.

⌘⇧JToggle the workspace assistant it sees your project, terminals, diffs, and open browser, and does the work: edits files, runs commands, drives the browser
⌘⇧EImprove tterm click any part of tterm's own UI; the component is scoped to its source and handed to the assistant. Every self-change is checkpointed first

Review & git

The whole point: read what Claude wrote, keep what's right.

⌘GDiff review side-by-side or unified · j/k hunks · stage, unstage, discard by hunk or file · commit from the bar
⌘⇧ISwitch git branch
⌘K paletteStash changes · pop latest stash
⌘⇧OReveal project in Finder

Browser

Real Chromium views — your cookies, bookmarks, and history ride along.

⌘BNew browser tab URL bar focused, history + Google suggest as you type
⌘⇧BReopen localhost:PORT ports are sniffed from terminal output
⌘LFocus URL bar
⌘RReload page
⌘[ / ⌘]Back / forward
⌘⇧VSend page to Claude a screenshot plus the console of the focused browser page, handed straight to a Claude Code pane
⌘⇧ANew claude.ai tab
⌘⇧GNew chatgpt.com tab
⌘⇧KCowork fullscreen the Claude desktop app; press again to come back — works from anywhere
⌘K paletteOpen a browser split a Chromium pane beside the current one
⌘K paletteImport Chrome cookies logins come across; also runs on launch

tterm on tterm

The app is its own workshop.

⌘K paletteClaude on tterm itself opens a Claude Code pane on tterm's source
⌘K paletteRebuild & install tterm.app then relaunch — self-update in two actions
⌘⇧RHot-reload the renderer with dev-mount, edits to source reload live
⌘K paletteToggle dev-mount load the renderer from your source checkout, so edits hot-reload live
⌘K paletteRevert last self-change roll back tterm's most recent self-edit to its git checkpoint
⌘K paletteAbout tterm version and commit; opens the changelog