Desktop app for macOS, Windows and Linux
Speccify on your machine
Viewer, MCP servers and agent terminal in one app. No repository, no Rust, no Python setup — it brings everything it needs.
macOS: Apple Silicon, macOS 11+ (.dmg) · Windows: x64
(*-setup.exe) · Linux: x86_64 and arm64 (.AppImage,
.deb, .rpm)
macOS downloads are signed and notarized.
Direct downloads
Looking up the latest release…
-
macOS Apple Silicon
-
Windows x64
-
Linux x86_64 · arm64
Windows: SmartScreen warns on first launch
The installer is not code-signed yet, so SmartScreen shows "Windows protected your PC" the first time. Click More info → Run anyway — or build it yourself below; the release is produced from this repository by a public workflow, so the result is identical.
Linux
Three formats, pick one. The AppImage runs on any
distribution without installing: download it, mark it executable
(right-click → Properties → “Allow executing”, or
chmod +x Speccify_*.AppImage),
double-click. The .deb (Ubuntu, Debian, Mint) and
.rpm (Fedora, openSUSE) install through your package
manager and put Speccify in the application menu. There is no
Gatekeeper or SmartScreen equivalent on Linux — nothing to click
through.
What it needs: a desktop session with
WebKitGTK 4.1 (libwebkit2gtk-4.1),
which is how the app draws its window. Ubuntu 22.04 and newer,
Debian 12, Fedora 37 and newer, and current openSUSE, Arch and Mint
ship it; the .deb and .rpm pull it in as a dependency. For the
Git and agent features, git and
Claude Code or Codex on your PATH, as on any platform.
Where it will not work, or needs a hand:
- Older distributions (Ubuntu 20.04, Debian 11 and earlier) only have WebKitGTK 4.0 — the app will not start there.
- AppImage without FUSE 2: Ubuntu 22.04 and newer
no longer install
libfuse2by default, and the AppImage needs it to mount itself. Eithersudo apt install libfuse2, run it with--appimage-extract-and-run, or use the .deb instead. - KDE Plasma works — WebKitGTK is a library, not a desktop requirement — but the window uses GTK styling, so it will not follow your Qt theme, and the .deb/.rpm bring GTK and WebKitGTK along if they are missing.
- Wayland with NVIDIA drivers: if the window comes
up blank or flickers, start it with
WEBKIT_DISABLE_DMABUF_RENDERER=1(orWEBKIT_DISABLE_COMPOSITING_MODE=1) — a known WebKitGTK issue, not specific to Speccify. - Headless servers, containers, WSL without WSLg: no display, no window. WSL2 with WSLg works.
- Architecture: choose x86_64 for an Intel/AMD desktop or arm64 for a 64-bit ARM desktop. Both builds require glibc and a graphical desktop with WebKitGTK 4.1. Alpine/musl and 32-bit ARM are not supported by these packages.
Specs, board, history
One folder per piece of work, tasks as checkboxes, Backlog → Doing as your gate, an auditable history per spec — per project, or across the repositories of a workspace on one shared board.
Skills & tool contracts
Expanded skills with provenance, tool contracts with per-platform verification status, and a source browser that imports via speccify expand.
Project actions
Named commands from .agent/actions.json, run natively with live output, progress and charts — agent proposals approved with one click.
Agent terminal
A real PTY in the project directory. Claude Code and Codex are equal presets; questions the agent leaves in specs surface as notifications.
On first launch
The app ships its Python engine as a payload and builds an environment from it on first launch — one click in the Environment tab ("Install engine"). That needs an internet connection once; everything after that runs offline. None of it lands in your projects or in a system Python installation.
Intel Macs are not covered yet — the macOS build targets Apple Silicon.
Rather stay in the terminal?
Everything the app does is also a CLI command and an MCP tool. The quickstart takes you through both.
Quickstart