Download
Terminal Deck 0.21.4. MIT-licensed, and there is no account to make. Pick the machine you want it on. Every build that exists is below, including both phone apps, each with where it comes from.
Choose a machine
What each build is, who it is for, and what happens the first time you open it. Every download button resolves to the newest release as you click it, so none of them can quietly hand you an old one.
-
macOS
A Mac with Apple silicon, on macOS 26 or newer. It is the native Mac app; there is no Intel build.
Signed with the Apple Developer ID of Asad Iqbal’s team, and new versions arrive inside the app. How to install it.
-
Windows
A PC on Windows 10 (version 2004 or newer) or Windows 11, x64. It is the native Windows app, one package (
.msix) that installs for your account. There is no ARM build.Before the first install: the package is signed with our own certificate, Terminal Deck Stable, not one bought from a certificate authority, so Windows installs it only after that certificate is trusted on the PC. That needs an administrator, once. The steps in full.
-
A server with no screen
A Linux box, a rented server, or a WSL distribution on Windows — anything you reach over SSH. It is a separate host program with no window, so the sessions run there and your phone or your desktop opens them.
It brings its own Node if the machine has none, writes nothing outside your home directory and never runs as root. Then
terminaldeck pairprints six digits to type into a phone.rm -rf ~/.terminaldeckundoes all of it.curl -fsSL https://terminaldeck.dev/install.sh | sh -
Android
An Android phone or tablet. It is a client, not a copy of the app: the sessions stay on your computer and this is a window onto them.
It is on Google Play. Install it from there and it updates like any other app.
-
iPhone and iPad
A native client with a real terminal, a key bar for the characters a phone keyboard hides, and long-press selection.
It is on the App Store. Install it from there and it updates like any other app.
-
Any browser
A borrowed computer, a work laptop, a tablet — anything with a browser and no permission to install software.
It holds a pairing credential and a private key, so it lives at its own address, terminaldeck.app, rather than a path on this site: browsers keep stored credentials apart by origin. Type the six-digit code your computer shows.
Every checksum, every earlier build, and the macOS .zip the in-app updater
fetches are on the
releases page. Or
build it yourself — the repository is the whole product, and
a build you made on your own machine carries no quarantine flag.
What else you need
Besides the machine. Nothing else is assumed, and nothing here is installed for you.
- An agent CLI
- At least one of Claude Code, Codex CLI or Gemini CLI — installed and already signed in. Terminal Deck does not install them, and it never asks you for a login or an API key: the agent signs you in itself, in the terminal.
- git
- Only for the git panel. Everything else works without it.
- The gh CLI
-
Optional. The GitHub panel can use the token your
ghalready has, or the app’s own GitHub sign-in.brew install ghon macOS,winget install GitHub.clion Windows, if you want it. - Node 22 or newer
- Only to build from source. A downloaded build has no Node requirement.
Settings › Coding AIs shows which agents the app found on your machine and the logins they use.
Installing on macOS
-
Open the disk image
Open
terminaldeck-0.21.4-arm64.dmgfrom the button above. Inside areTerminal Deck.appand a shortcut to Applications. -
Drag it to Applications, then open it
Drag Terminal Deck onto the Applications shortcut, then open it from Applications. It is a native Mac app, a little under 600 MB once installed.
Apple has not notarized this build yet, so macOS refuses the first launch: click Done (not Move to Trash), then open System Settings → Privacy & Security and click Open Anyway next to the message naming Terminal Deck, once.
-
Later versions arrive inside the app
A card just above Settings in the side panel offers each new release: Download, then Restart to update. Your sessions keep running through the restart.
Check the signature yourself
codesign -dv --verbose=2 "/Applications/Terminal Deck.app"
It should name Developer ID Application: Asad Iqbal (6U4VNX5W87). If you
would rather not take that on trust, build from source below — then the app is one
you produced on your own machine, and no quarantine flag is ever set.
Installing on Windows
Windows 10 (version 2004 or newer) or Windows 11, x64. The first step is once per PC; after that the app updates itself.
-
Trust the Terminal Deck certificate, once
Download
TerminalDeck-Stable.cerand double-click it. Choose Install Certificate, then Local Machine (Windows asks for an administrator), then Place all certificates in the following store → Browse → Trusted People, and finish. Or, in PowerShell opened as administrator:Import-Certificate -FilePath .\TerminalDeck-Stable.cer -CertStoreLocation Cert:\LocalMachine\TrustedPeople -
Install the package
Double-click the
.msixyou downloaded. App Installer names the app and its publisher, Terminal Deck Stable; click Install. It installs for your account and opens from the Start menu. Without App Installer,Add-AppxPackagein PowerShell installs the same file. Later versions arrive inside the app: a card just above Settings offers Restart to update. -
Bring your own agent CLI
Same as on macOS: Terminal Deck runs Claude Code, Codex CLI or Gemini CLI, and installs none of them. Install and sign in to at least one first, or the first launch has nothing to show you.
Why the certificate step
Windows installs a package only when its signature leads back to a certificate the PC already trusts. The certificates Windows trusts out of the box are sold by commercial authorities against a verified identity and renewed yearly. This package is signed with our own certificate instead, so you add it to Trusted People yourself, once. Windows then accepts packages signed with it, so trust only the file from this site or the releases page.
The one check you can make yourself is the checksum.
SHA256SUMS.txt on the releases page lists the SHA-256 of every file in
the release, the certificate and the package included; Get-FileHash in
PowerShell prints the one you downloaded. If you would rather not take any of it on
trust, build from source below.
Building from source
The repository holds both desktop apps: the Mac app in macos/ and the
Windows app in windows/.
The Mac app
macOS 26 or newer, Xcode 26 or newer (Swift 6.2 tools) and Node 22 or newer.
git clone https://github.com/asadev/terminaldeck.git
cd terminaldeck
npm ci
npm run build && npm run build:native-web && npm run build:pwa && npm run dist:headless
bash macos/build-standalone.sh
The first commands build the web pages the app serves; the last compiles the Swift
package in release mode and leaves macos/build/Terminal Deck.app, signed
ad hoc with the hardened runtime. Because you built it locally it carries no
quarantine flag, so it opens on a double-click with no Gatekeeper step.
swift build --package-path macos/TerminalDeckNative compiles the Swift
package on its own.
The Windows app
Windows 11, the .NET SDK 10.0.400 or newer and the Windows App SDK tooling (restored from NuGet).
cd windows
dotnet build TerminalDeck.slnx -c Release
The platform-independent core and its tests also build on macOS and Linux:
dotnet test tests/TerminalDeck.Core.Tests/TerminalDeck.Core.Tests.csproj
from windows/.
What this build does not do
Worth knowing before you install rather than after.
- There is no Linux desktop window. The headless host is the Linux route, and it is a real one: it has been installed in a WSL distribution and left running there under a user service, holding agent sessions a phone drives. What it does not have is a window on that machine.
-
The host on npm can be behind the desktop. The one-line install
takes whatever version of
terminaldeckis published to npm, and the desktop app is released on its own schedule.terminaldeck --versionafter installing says which one you have; the host that matches exactly this release is the.tgzon the releases page. - Translations are not built yet. The app is English only, and the language row in Settings had exactly one option, so it was removed rather than left as a control that changes nothing.
- A Mac has never talked to a Windows PC. Machine-to-machine pairing has been run end to end against the real trust store and the real pairing desk — with both ends in one macOS process on loopback, which is where every seam that has broken before lives. Across the internet, between two operating systems, it is the same code and it has not been run.
- Usage, context and session search read Claude Code transcripts. Codex and Gemini sessions run perfectly well; those panels simply have nothing to read for them. No panel anywhere shows a price — the app reports tokens and context rather than money, on purpose.