Terminal Deck 0.21.4

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.

    Download the .dmg

    terminaldeck-0.21.4-arm64.dmg
    95 MB · Developer ID signed

  • 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.

    Download the package

    Windows package (.msix), about 267 MB
    signed with our own certificate · the certificate

  • 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 pair prints six digits to type into a phone. rm -rf ~/.terminaldeck undoes all of it.

    curl -fsSL https://terminaldeck.dev/install.sh | sh

    terminaldeck on npm · reads the script first at terminaldeck.dev/install.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.

    Get it on Google Play

    From Google Play

  • 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.

    Get it on the App Store

    From Apple's App Store

  • 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.

    Open the web version

    Nothing to install · works now

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 gh already has, or the app’s own GitHub sign-in. brew install gh on macOS, winget install GitHub.cli on 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

  1. Open the disk image

    Open terminaldeck-0.21.4-arm64.dmg from the button above. Inside are Terminal Deck.app and a shortcut to Applications.

  2. 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.

  3. 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.

  1. Trust the Terminal Deck certificate, once

    Download TerminalDeck-Stable.cer and 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
  2. Install the package

    Double-click the .msix you 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-AppxPackage in PowerShell installs the same file. Later versions arrive inside the app: a card just above Settings offers Restart to update.

  3. 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 terminaldeck is published to npm, and the desktop app is released on its own schedule. terminaldeck --version after installing says which one you have; the host that matches exactly this release is the .tgz on 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.