The terminal that remembers
your agent sessions.
Quit the app. Open it tomorrow. Your Claude Code session is right where you left it. Same for Codex, OpenCode, and Hermes — naming, resume, and history that work across all four.
The work moved.
The terminal kept up.
Two years ago, you wrote code in an editor. Today, you direct an agent and review the result. The surface that fits that loop best is the one where the agent already runs.
Editor first.
The IDE was where you wrote the code. The AI was a chat panel off to one side.
Agent moves into the terminal.
Claude Code, Codex, OpenCode, Hermes. Chat and execution in one window. Real diffs, real stderr, real state.
Chat is the work.
You type in chat. You read the diff. You watch the tests. The editor demoted to an inspection surface. The terminal is where the work happens.
Many tabs. No anxiety.
Twelve agent sessions in a strip you can scan. Sessions that survive a quit. Folder chips that group by where the work lives. ⌘⇧T to undo a close. The shape of UX you already know — pointed at the things that matter for agents.
Quit the app. Open it tomorrow. Your agent is right where you left it.
Every tab is pinned to its session ID on disk. Relaunch and click Terminal — claude --resume runs automatically against the same conversation. ⌘R reloads a tab as a fresh PTY without losing the thread.
Filter the strip by where the work lives.
Each open tab contributes a chip from its working directory. Click a chip and the strip narrows to that folder. Each folder remembers its last-active tab. New tabs land in the right cwd by default — no .tmux.conf, no setup.
Close a tab by accident? Reopen it where it was.
The undo stack restores closed tabs with their title, working directory, and position in the strip. As deep as your last session. A browser that loses your tabs every time you quit is a broken browser — same standard for a terminal you live in.
Naming. Resume. History.
Normalized across every agent
you actually use.
Four agent CLIs. Four storage formats. Four resume command shapes. Four hook systems. There is no shared protocol — so we wrote the integration for each of them. Tab titles, session resume, and history land the same way no matter which one is running in the pane.
Claude Code
integratedCodex
integratedOpenCode
integratedHermes
integratedSwitch agents mid-day without switching mental models. The terminal treats them the same; you don’t have to.
GPU rendering.
Dual-theme.
Diff colors that look right.
Built on the same engine as Ghostty, with the parts that matter for code agents wired up: light/dark theme switching that Claude Code respects, a palette pipeline that nobody outside Ghostty.app has assembled, and a tint that’s personalization — not a second notification system.
libghostty + Metal
GPU-rendered, 5000-line scrollback per tab. Doesn't choke when four agents stream output at once. Zero-latency tab switching — tabs warm in memory, the rest cold.
Light and dark, done right
Embedded libghostty wired up correctly: dual-theme paths, surface refresh on theme change, KVO observer on system appearance. Claude Code's truecolor diffs render with the right colors, light or dark, without restarting the tab.
Make it yours
Nine colors, ten strength steps, one toggle. Uses .blendMode(.color) so white text stays white and black stays black — only mid-lightness materials take the wash. A subtle mood-shift between sessions, not a notification.
Made for one job.
Honest about the rest.
Not a Linux server tool.
Mac-only today. No daemon-on-the-remote-box story. If your work lives behind ssh + tmux, this isn’t the terminal you want.
Not a PR review queue.
The work happens inside the tab, not on a status board. If you spend most of your day accepting and rejecting agent diffs, you want a different shape of product.
Not for one throwaway shell.
Two open tabs, any terminal is fine. The persistence, the folder chips, the four-agent integration — they earn their place when you have many sessions, not one.
Built in the open,
shipping weekly.
Push is made by MasslessAI. One team, one product. Code is closed for now, but every release is documented, every tradeoff is in public, and the inbox is open.
Questions, answered.
Open it tomorrow.
Your agent is still there.
Free. Signed and notarized. Installs in under a minute. Quits as cleanly as it opens.
macOS 14+ · Apple Silicon · Free