Running in under a minute
macOS, Linux and Windows. Every route installs once — FigyTerm updates itself from then on, except the packages you'd rather your own package manager owned.
macOS
12 or later. Apple Silicon (aarch64) and Intel (x64).
Install script · .dmg
Linux
x86_64. Any distro for the AppImage; apt and dnf for packages.
Install script · AppImage · .deb · .rpm
Windows
10 build 1809 or later, x64. ARM isn't built yet.
.exe installer · .msi
Install script
Recommended
Detects whether you're on Apple Silicon or Intel, downloads the matching build and installs it to /Applications. No security dialog, no xattr step.
curl -fsSL https://raw.githubusercontent.com/code4mk/figyterm/main/install.sh | shYou should read anything you pipe to a shell. This one touches a temp directory and FigyTerm.app, nothing else.
Download the .dmg
Manual install
- 1Grab the build for your Mac from Releases —
aarch64for Apple Silicon,x64for Intel. - 2Open the
.dmgand drag FigyTerm into Applications. - 3Clear the quarantine flag macOS added during the download:
xattr -cr /Applications/FigyTerm.app - 4Launch FigyTerm.
Why step 3? FigyTerm isn't signed with a paid Apple Developer ID, so macOS quarantines browser downloads and reports the app as “damaged”. Quarantine is set by the downloading app — browsers set it, curl doesn't. That's why the script skips this entirely, and why in-app updates are never quarantined.
AppImage
Recommended
Runs on any distro, needs no root, and it's the only Linux format the built-in updater can replace in place. Installs to ~/.local/bin with a desktop entry.
curl -fsSL https://raw.githubusercontent.com/code4mk/figyterm/main/install-linux.sh | shOr do it by hand: chmod +x the AppImage from Releases and run it. Nothing else is needed.
Distro packages
apt & dnf
If you'd rather your package manager stayed in charge, take a .deb or .rpm from Releases.
sudo apt install ./FigyTerm_*_amd64.deb
sudo dnf install ./FigyTerm-*.x86_64.rpmOne difference: a .deb or .rpm install belongs to apt/dnf, so FigyTerm won't rewrite files it doesn't own — it tells you a new version exists and leaves the install to you. The AppImage is the one that updates itself.
Blank window? Some Nvidia and older Mesa drivers can't render WebKitGTK's DMA-BUF path. Start it with WEBKIT_DISABLE_DMABUF_RENDERER=1.
Installer
Recommended
Download FigyTerm_*_x64-setup.exe from Releases and run it. It installs for the current user under %LOCALAPPDATA%, needs no administrator rights, and updates itself from then on.
“Windows protected your PC” Expected, and it means one thing: the installer isn't code-signed. Click More info, then Run anyway. Unlike macOS there's no flag to clear and no curl loophole — SmartScreen builds reputation per binary as downloads accumulate.
MSI
Managed deployment
FigyTerm_*_x64_en-US.msi is published for Group Policy or Intune. It installs per-machine and does not self-update — a managed install stays managed by whatever pushed it.
Which shell? PowerShell 7 (pwsh) if it's on your PATH, otherwise Windows PowerShell, otherwise cmd.exe. Command history comes from PSReadLine, so cmd sessions have none — that's a cmd limitation, not a FigyTerm one.
Requirements: Windows 10 1809 or later, which is where ConPTY arrives. x64 only for now — Windows on ARM isn't built yet.
Or build it yourself
Needs Node 18+, Rust 1.86+ and the Tauri CLI, plus your platform's toolchain — Xcode Command Line Tools on macOS, the WebKitGTK dev packages on Linux, or MSVC build tools on Windows.
git clone https://github.com/code4mk/figyterm.git
cd figyterm
npm install
npm run tauri buildInstalling
The questions the installer raises
Mostly about code signing, which FigyTerm doesn't pay for — so here is exactly what each platform will say and what to do about it.
Which platforms are supported?
macOS on Apple Silicon (aarch64) and Intel (x64), Linux on x86_64, and Windows on x64. macOS ships a .dmg, Linux ships an AppImage plus .deb and .rpm packages, and Windows ships an NSIS installer plus an .msi for managed deployment. Windows on ARM and Linux on aarch64 aren't built yet.
Which Linux package should I pick?
The AppImage, unless you specifically want your package manager in charge. It runs on any distro, needs no root, and it's the only Linux format FigyTerm's updater can replace in place. A .deb or .rpm install belongs to apt or dnf, so FigyTerm will tell you when a new version exists but leave installing it to you.
Why does Windows say “Windows protected your PC”?
Because the installer isn't code-signed. Click More info, then Run anyway. Unlike macOS there's no flag to clear and no curl workaround — SmartScreen builds reputation per binary as downloads accumulate, and only an expensive EV certificate grants it up front.
Why does macOS say the app is damaged?
FigyTerm is not code-signed with a paid Apple Developer ID, so macOS quarantines it when a browser downloads it. Run xattr -cr /Applications/FigyTerm.app once and it opens normally. The install script avoids this entirely, because curl never sets the quarantine flag.
How do updates work?
FigyTerm updates itself. The built-in Tauri updater checks GitHub Releases and installs new versions in one click, so you only ever install manually once. The exceptions are the packages meant to be managed by something else — a Linux .deb or .rpm and the Windows .msi — where FigyTerm reports the new version and leaves the install to whatever put it there.
What does it cost?
Nothing, and there is no paid tier to upgrade to. FigyTerm is MIT licensed and developed in public.