All docs ▾

Docs / Getting started / Install

Install

Signed builds per OS, verifying what you run, and how updates ship.

Builds come from two places and two places only: projectvex.ai and GitHub Releases. Check Requirements first: Docker and an OpenRouter key are needed before the app is useful.

The current release is Vex 0.4.0. Read The desk, on paper. for the full changes and upgrade notes. The download links resolve the latest published GitHub builds.

Per-OS builds

OSArtifactsSigning
macOS 13+DMG and ZIP, arm64 and x64Developer ID signed and notarized by Apple
Windows 10/11NSIS installer, x64Azure Trusted Signing with an RFC3161 timestamp
Ubuntu 22.04/24.04AppImage and .deb, x64Unsigned. AppImage and deb are not code-signed at all

Signing is genuinely per OS, and the release pipeline treats it that way: the macOS and Windows jobs fail the build if a signing credential is missing, and the Linux job needs no signing secrets because there is nothing to sign. What that means for you on Linux is written out in Verify a build.

The application identifier is ai.projectvex.app on every platform, and it is fixed: changing it would break auto-update for every installed client. On macOS the bundled vex-mcp bridge binary that powers Vex Studio carries its own signature inside the app bundle, and the pipeline verifies it before publishing.

Installing

  • macOS. Open the DMG and drag Vex into Applications. Take the arm64 build on Apple silicon and the x64 build on Intel.
  • Windows. Run the NSIS installer. Docker Desktop must be set to the WSL2 backend before the first launch.
  • Linux. Mark the AppImage executable and run it, or install the .deb. Download it only from the official release page: there is no signature on these artifacts to catch a tampered copy.

On first launch the app checks your system, brings up its Docker stack, runs database migrations and opens the setup wizard, walked through in First run.

From a terminal

One line does the same install, with the checks you would otherwise run by hand. On macOS and Linux:

curl -fsSL https://www.projectvex.ai/install.sh | bash

On Windows, in PowerShell:

irm https://www.projectvex.ai/install.ps1 | iex

Both scripts read the release manifest (latest-mac.yml, latest-linux.yml or latest.yml) from GitHub Releases, download the build for your machine, and refuse to install unless its size and SHA-512 match. Then, per OS:

  • macOS. Picks arm64 or x64 for your Mac, requires an Apple Developer ID signature from Vex’s team K75L5DDLK8 and a Gatekeeper verdict of Notarized Developer ID, then moves Vex.app into /Applications. A download made with curl carries no quarantine flag, so Gatekeeper would not check it at first launch; the script makes that check itself instead.
  • Windows. Requires a valid Authenticode signature issued to VEX LABS PTE. LTD., then runs the installer silently. It installs for your user only, with no admin prompt.
  • Linux. Installs the .deb with apt on Debian and Ubuntu (the only step that uses sudo), or the AppImage into ~/.local with a menu entry everywhere else. The builds are unsigned, so the checksum is the only check available.

Set VEX_VERSION=0.4.0 to install a specific release, or VEX_LINUX_PACKAGE=appimage to skip apt. Read either script before you pipe it into a shell: install.sh, install.ps1.

How updates ship

Vex uses electron-updater against published GitHub Releases of Vex-Foundation/Vex, and nothing else is a valid update source. Tagging a version runs the pipeline that builds, signs and notarizes the artifacts and uploads them with the update manifests (latest-mac.yml, latest.yml, latest-linux.yml); the release is published as soon as that upload completes. Artifact names are versioned, which is what lets updates download differentially.

Nothing installs itself. The app checks for a new version on start, on window focus and on a periodic timer, but auto-download and auto-install are both off: downloading needs your action, and applying the update needs a restart you trigger. These are the states the update surface can be in:

StateMeaning
idle / checking / currentNo update in flight, a check running, or you are on the newest release.
availableA newer published release was found. It carries a severity: normal, security or critical.
downloadingThe download you started is in progress, with percent complete.
downloadedThe update is on disk and waiting for you to restart.
installingThe app is quitting to apply the update.
blockedByOperationA download or install was held back because a Docker, database or mission operation is running. The reason names which.
errorThe check, download or install failed; the app keeps running the current version.

Official channels

The only official channels are projectvex.ai, @ProjectVEXai and GitHub Releases at Vex-Foundation/Vex. The team will never DM you first and will never ask for your seed phrase or master password. A build from anywhere else can drain a self-custodial wallet, and phishing or unofficial builds sit outside the security model.

Vex is source-available and free to use: you may read, audit and run it, and use the official builds to self-custody your own assets for personal, non-commercial purposes. Redistribution, forks and commercial use are not licensed. See the license.