Termic is a native desktop app. macOS is first-class (a signed universal binary with a Homebrew cask and an in-app updater); Linux ships as a signed AppImage with every release; Windows ships as an experimental installer with every release, since 1.9.
One command (macOS and Linux)
curl -fsSL https://termic.dev/install.sh | sh
It downloads the latest release from GitHub and starts it. On macOS it puts Termic.app in /Applications (or ~/Applications if that is not writable); on Linux it puts the AppImage at ~/Applications/Termic.AppImage, a file you own, so the in-app updater can replace it. No root needed. Running it again updates an existing install. On Linux it also moves an AppImage you installed by hand and fixes its menu entry, see Linux. TERMIC_VERSION=1.20.0 pins a release, TERMIC_DIR picks the folder, and TERMIC_NO_LAUNCH=1 skips starting it. Read the script before you pipe it to a shell; it is short.
macOS
Homebrew works too:
brew install --cask simion/tap/termic
That one command auto-taps simion/homebrew-tap, downloads the latest .dmg, and installs Termic.app into /Applications. Termic is signed with a Developer ID certificate and notarized by Apple, so it opens with no “unidentified developer” warning. Requires macOS 12 (Monterey) or newer; the build is universal, so it runs natively on both Apple Silicon and Intel.
To upgrade later:
brew upgrade --cask termic
Direct download
The .dmg, the .app.tar.gz, and an ed25519 signature for each release live on the Releases page. The .dmg is signed and notarized, same as the Homebrew build.
Linux
Use the one-command installer:
curl -fsSL https://termic.dev/install.sh | sh
It puts the AppImage at ~/Applications/Termic.AppImage, a file you own, so the in-app updater can replace it in place. No root, no package manager. Running it again updates it. If your applications menu already has a Termic entry that opens a copy somewhere else (an AppImage you downloaded by hand, say), the installer points the entry at the new file and removes that old copy, so you end up with one Termic. Other old downloads it finds in your home folder, ~/Downloads or ~/Desktop are listed, not deleted.
The AppImage is signed by the same ed25519 key as the macOS build, so the in-app updater works the same way. It is x86_64 only for now.
Applications menu and termic:// links
An AppImage is one file, so running it adds nothing to your system. On first launch Termic asks once whether to add itself to your applications menu. That writes a desktop entry and an icon into ~/.local/share and makes Termic the handler for termic:// links. If you said no, it is in Settings, General, Desktop entry, along with removing it again.
FUSE
The AppImage mounts itself with FUSE. It needs the fusermount helper, which most desktops ship, but not the old libfuse2. If it does not start and says FUSE is missing, install your distro’s fuse3 package (Ubuntu and Debian: sudo apt install fuse3), or run it without FUSE:
APPIMAGE_EXTRACT_AND_RUN=1 ~/Applications/Termic.AppImage
By hand
Download Termic_<version>_amd64.AppImage from the Releases page, make it executable, and run it:
chmod +x Termic_*_amd64.AppImage
./Termic_*_amd64.AppImage
Keep it somewhere writable, like ~/Applications/, so the updater can replace it.
What differs from macOS
- No Seatbelt cage. The Seatbelt sandbox is macOS-only, so the shield toggle is disabled on Linux. Use Docker mode instead; it runs wherever Docker does. Everything else (worktrees, parallel tabs, find-in-files, themes, the diff view) works the same.
- Wayland. The window runs through XWayland, which is the default the AppImage sets. On the proprietary NVIDIA driver, Termic applies the known WebKitGTK rendering workaround itself, so there is nothing to set.
Windows (experimental)
Download Termic_<version>_x64-setup.exe from the Releases page and run it. It installs for your user only, into %LOCALAPPDATA%\Termic, with no admin prompt, and adds a Start menu entry and an uninstaller (Settings, Apps). Windows 11 x64; WebView2 ships with Windows 11.
The installer is not code-signed yet, so SmartScreen asks the first time: click More info, then Run anyway. Updates come through the same in-app updater as on macOS and Linux, signed with the same key.
Install Git for Windows too (Termic uses its git and Git Bash), with the default “Git from the command line and also from 3rd-party software” option so other apps can find it. Agent CLIs install the usual way (for Claude Code, its PowerShell installer); Termic finds them on your PATH, or in the folders their installers use, even when installed while Termic is open.
What differs from macOS:
- Sandbox: the Seatbelt cage is macOS-only. Use Docker mode (Docker Desktop with Linux containers).
- Agent hooks report working, needs-you and done for claude so far; other agents are read from their terminal as before.
- Keys:
Ctrlstands in for⌘, shortcut hints readCtrl+Alt+P, and plainCtrl+letterin a terminal goes to the shell. Closing the window quits Termic. - Not on Windows yet: the Activity monitor, PDF preview, and installing
termiconto PATH from Settings.
The full list, and how each part works: docs/windows.md.
Build from source
If you want to hack on Termic, or package it for your own distro, build from source. On macOS:
git clone https://github.com/simion/termic
cd termic
make setup # brew/rust/node + npm install + cargo check
make install # build, copy to /Applications, launch
make dev is the iteration loop (Vite HMR plus a Rust auto-rebuild). On Windows the same make targets run from Git Bash: bash scripts/setup-windows.sh installs the build tools, Rust, Node and make through winget, then make install builds the NSIS installer and installs it. On Linux you’ll need the WebKitGTK 4.1 and GTK 3 development packages for your distro; the full prerequisite lists for Debian, Fedora and Arch are in the project’s README. After npm run tauri build, the .deb, .rpm and .AppImage bundles land under src-tauri/target/release/bundle/.
The termic command
Termic ships a companion CLI for driving the app from a terminal: create a task, send a prompt, watch an agent, attach to one. It is not installed on your PATH by default. Termic leaves that choice to you. (On Windows the Settings buttons below are not there yet; agents inside Termic still get the CLI.)
Settings, CLI gives you two ways to do it:
- Add to PATH appends
~/.local/binto your shell startup file. No password, nothing outside your home directory. This is the one to take. - Install system-wide symlinks into
/usr/local/bininstead, which needs an admin prompt. Useful when something else on the machine (a daemon, a CI shim) needstermicon a PATH your shell file does not reach.
Either way termic --help tells you which build it is talking to, which matters if you run a beta alongside the shipped app. See the CLI reference for what it can do.
Updating
Termic ships with a self-updater. When a new release is published, an Update X.Y.Z pill appears in the top-right of the toolbar. Click it to download, verify the ed25519 signature, and relaunch. There’s a changelog link right on the update card so you can see what changed before you take it.
If you installed via Homebrew you can also update with brew upgrade --cask termic. The in-app updater knows how to replace the macOS app, the Linux AppImage and the Windows install in place (on Windows the app closes while the installer runs); .deb / .rpm installs upgrade by rebuilding from source.
Next steps
With Termic installed, head to Your first task to add a project and spawn your first agent. Coming from Conductor? Read Migrating from Conductor first.