One terminal.
Every platform.
A GPU-accelerated terminal that behaves identically wherever you work, keeps your shells running after you close it, and happens to be the best place to run an AI agent.
The same on every platform
Linux and Windows, plus FreeBSD and NetBSD builds, with macOS in progress. Same layout, same behaviour — across PowerShell, cmd, Git bash, WSL and whatever your $SHELL is.
The same keys, everywhere
One set of bindings on every platform: Ctrl+Shift+C and Ctrl+Shift+V copy and paste on Windows and Linux alike, and every action — panes, views, docks, zoom — has a key and rebinds. Alt+key still passes through to the shell, so an agent CLI keeps its own.
A terminal first
PTY-backed, full VT, tabs and scrollback. The AI tooling is the best second job it does — not the reason it exists.
Shells that outlive the window
Turn it on and your terminals move into a background daemon. Close the app, open it again, and that half-hour build is still running.
GPU-accelerated
The entire terminal grid renders in a single draw call. Smooth at any size, on any of them.
Focus, move and resize any pane from the keyboard.
What the demo shows, in words
- Panes — One window, as many terminals as the work needs. A second pane — the same keys on Linux and Windows. Focus, move and resize any pane from the keyboard.
- AI tooling — CPT spots the agent in the pane, and knows what the repo gives it. Claude Code is running here — CPT badges the pane. Zero config. What tooling does this repo give it? Widgets → AI Inventory. Every skill, agent, command and MCP server this repo has. Focus the other terminal — the inventory follows it. Another checkout, another set of tooling. It stopped to ask you something — the badge goes amber. Its tab and the status bar say so too — Alt+A jumps straight to it.
- Docks — Rails on the edges, for the tools that should always be within reach. This panel does not need a whole pane of its own. Pick a widget up by its tab and every edge offers itself. Dropped on the left rail — same widget, still scanning, out of the way. Collapse it, and the view gets the space back. And back by number, from anywhere — Ctrl+Shift+Alt+1.
- Detached — Close the app; the shells keep running and you pick them back up. Shells die with the window — until you turn that off. Settings → Widgets → Keep shells running when the app closes. It applies to new terminals, so open one and give it something to do. Now closing that pane asks, because there is something worth keeping. The pane is gone. The shell is not. The Sessions button opens the Sessions widget, and the shell is still in it. Attach it and the watcher comes back, still counting.
- Views — Separate workspaces, each with a layout of its own. Each view is its own workspace — Alt+End steps to the next. A layout entirely its own, still running. Switch back — Main is exactly where you left it.
Supported platforms
Where it runs
The same app on every one of these. All x86-64.
Windows
x86-64Windows 11
Windows 10
Windows Server 2025
FreeBSD & NetBSD
x86-64FreeBSD 14
Needs an X11 desktop
NetBSD 10
Needs an X11 desktop
Linux
x86-64Ubuntu 24.04 LTS
Ubuntu 26.04 LTS
Debian 13 (trixie)
Fedora 43 & 44
Arch (rolling)
Debian 12 (bookworm)
Build from source — the published binaries need glibc 2.39
macOS
In progress. There is no build yet — the download page will list it the day there is one.
Features
Everything in one window
Arrange terminals and tools exactly how you want. Navigate everything from the keyboard. Stays fast no matter how much you have open.
Multi-View Workspace
Named tabs, each with an independent dock layout. Reorder them by dragging, number them if you like, and switch with a keystroke — every view keeps exactly the arrangement you left it in.
Full Terminal Emulator
PTY-backed, full VT escape sequence support, tabbed sessions, scrollback, clipboard, font zoom.
Shells That Outlive the Window
Switch on “Keep shells running when the app closes” and your terminals move into a background daemon. Quit CPT, open it again, and the same shells are waiting - scrollback intact, that half-hour build still running. The Sessions button in the title bar shows what is held and opens any of it in a pane again.
SSH Hosts, Your Own ssh
Keep the machines you connect to in Settings → SSH Hosts, and Connect opens an ordinary pane running your system's own ssh - so ~/.ssh/config, your agent, ProxyJump and known_hosts all apply unchanged. CPT stores no keys and no passwords, and the dialog shows the exact command before it runs.
AI Workflow Pipeline
Chain steps that rewrite prompts before they reach Claude Code or Copilot - prepend, append, script, detect. Shift+Enter adds a line instead of sending, so a half-written prompt never gets submitted for you.
AI Tool Detection
When any of the eight known agent CLIs starts in a pane, that pane gets a live badge naming the tool, and CPT tells its states apart: working, waiting on you, finished, failed. The state is marked on the pane's tab, on its view's tab and in the status bar, Alt+A jumps to the next agent waiting on you, and a desktop notification says so while you are looking elsewhere (Windows, or Linux with notify-send). Found through npx, uv, node and venv shims, not just by name.
AI Inventory
A panel listing the skills, agents, commands, hooks, MCP servers and instruction files available in the repository you are working in - each tagged project, user or plugin. It follows the focused terminal, so it re-scans when you cd somewhere else.
Pinned Panes
Pin a pane and it keeps the size and the slot you gave it. Redistribute the layout, close a neighbour, or open another terminal - the narrow inventory panel or the log you are tailing stays exactly as you set it, and the rest share out what is left.
Docks on Every Edge
Rails down the left and right and along the bottom, each a strip of toggles opening a resizable dock. Drag a widget out to an edge and back, give a dock auto-hide so it collapses when you look away, and reach any of them by number. Empty rails take up no space at all. Or float any widget in a window of its own, and drag it back onto a view when you are done.
Dark and Light
Every colour the app draws - title bar, both tab strips, the rails, the dialogs - resolves through one palette, in a dark set or a light one. Pick it in Settings → Appearance and the swap lands on the next frame. Terminal contents are left alone.
Keyboard Navigation
Focus, move, and resize any panel without touching the mouse. Navigate views, open terminals, pin a pane, jump between tabs - every action has a binding, and all of them rebind.
Scriptable From Outside
Turn on Settings → Widgets → External API and scripts can open panes, type into them, read what they show and follow events: cpt ctl from any shell, or cpt mcp so Claude Code and other MCP clients can drive the window, and Connect Claude Code on the same settings page sets that up in one click. Off by default, reachable only by your own user on the same machine, and the status bar says when a program is connected.
Native Performance
Launches instantly, stays responsive under load. Inactive views drop to near-zero CPU and memory - your machine stays free for the work that matters.
Agents
Whichever agent you already use
CPT recognises each of these by reading the process tree and its arguments, so it still finds them behind npx, uv, node or a virtualenv shim — and then badges the pane, marks its tab, and tells working apart from waiting on you.
- Claude Code
- GitHub Copilot
- Codex CLI
- Gemini CLI
- Aider
- Cursor Agent
- opencode
- Amp
Running something else? Ask for it — new agents are a row in a table.
Shipping
The last few releases
- v0.5.1013 days ago15 changes
- v0.5.914 days ago9 changes
- v0.5.815 days ago20 changes
- v0.5.718 days ago10 changes
- v0.5.618 days ago15 changes
Report a bug or ask for a feature and it is usually shipped the same day. The dates above are pulled straight from the release repository, so you can check that rather than take our word for it.
The same keys everywhere
The platform quirks CPT resolves on Linux and Windows, and the full keyboard shortcut table.
Read morePricing€7.49 a month
A month or a year at a time, by card or in crypto. Card renews itself until you cancel; crypto stores nothing to charge you again.
Read moreFAQBefore you buy
Billing, platforms, what updates are included, and how to get a bug looked at.
Read more