---
id: installation
title: Install Bex Desktop
description: Choose a Bex Desktop build, install it on macOS, Windows, or Linux, and verify your version without replacing your platform CLI.
sidebar_position: 1
last_updated: 2026-09-23
---

Bex Desktop is a local code editor derived from Zed. Get the current artifacts from [Download Bex Desktop](/download), then follow the [first-session walkthrough](quickstart.md).

These instructions were checked against [bex-v1.20.0-bex.4](https://github.com/bex-co/bex-desktop/releases/tag/bex-v1.20.0-bex.4), source revision `dafcb728f534061859bdc51978acc504d0c2b2d0`. Opening and saving a local file was verified on Apple Silicon macOS. Windows and Linux instructions below are based on that release's packaging and source requirements; they are not a claim of hands-on validation on those platforms.

## Choose your build

The download page enables only artifacts present in the validated release. Choose Apple Silicon or Intel on macOS, and ARM64 or x64 on Windows/Linux. On macOS, **Apple menu → About This Mac** identifies the chip; Windows **Settings → System → About** lists the system type. On Linux, `uname -m` reports `x86_64` or `aarch64`.

This release keeps legacy artifact names: `Zed-aarch64.dmg`, `Zed-x86_64.exe`, and `zed-linux-x86_64.tar.gz` are examples. They come from **bex-co/bex-desktop**, not from Zed's release channel. The macOS image contains **Bex.app** and a compatibility **Zed.app** symlink. Install Bex.app once.

The release's `SHA256SUMS` file lets you compare a downloaded artifact's SHA-256 digest. On macOS use `shasum -a 256 FILE`; on Linux use `sha256sum FILE`; on Windows PowerShell use `Get-FileHash FILE -Algorithm SHA256`. Match the filename and digest against the same pinned release.

## macOS

The inspected bundle declares macOS **10.15.7 or newer** and uses Metal rendering. This is the bundle's minimum, not a certification that every inherited feature works on older systems.

1. Download the DMG for your chip and open it.
2. Drag **Bex.app** into Applications. If you already have Zed, quit it before launching Bex; see the shared-profile note below.
3. Eject the disk image, then open Bex from Applications.
4. Open a local folder and continue with the [quickstart](quickstart.md).

If macOS rejects the app, check the source and checksum and follow [launch troubleshooting](troubleshooting.md). Do not remove security attributes or disable platform protections as a routine installation step.

## Windows

The pinned source lists **64-bit Windows 10 version 1903+ or Windows 11 version 22H2+**, with a DirectX 11-capable GPU and a current hardware-vendor driver. See the [requirements at the release revision](https://github.com/bex-co/bex-desktop/blob/dafcb728f534061859bdc51978acc504d0c2b2d0/docs/src/installation.md#system-requirements).

Download the matching `.exe` from the Bex download page, run the installer, follow its destination prompts, and launch the installed editor. Some filenames and paths retain Zed naming in this release. Check **About Bex** before opening a project. The platform `bex` command is a separate tool and is not needed for local editing.

## Linux

The release provides a `.tar.gz` for each architecture. The [pinned Linux requirements](https://github.com/bex-co/bex-desktop/blob/dafcb728f534061859bdc51978acc504d0c2b2d0/docs/src/linux.md) call for system glibc **2.31+ on x86_64** or **2.35+ on aarch64**. Rendering requires a Vulkan 1.3-capable driver. Desktop file chooser, OpenURI, and secret-service portals must be available; minimal containers are not equivalent to a desktop session.

Extract into a new directory you own, keeping the complete `zed.app` bundle together. For example, after downloading the x86_64 archive to your current directory:

```bash
mkdir -p bex-desktop-release
tar -xzf zed-linux-x86_64.tar.gz -C bex-desktop-release
./bex-desktop-release/zed.app/bin/zed --new .
```

For ARM64, substitute the downloaded `zed-linux-aarch64.tar.gz` filename. The bundled launcher locates the adjacent editor and libraries; do not copy only the executable out of the archive. These steps use Bex's artifact directly. Zed's Homebrew, winget, and shell-install commands install a different distribution.

## Profiles and coexistence with Zed

The pinned release still uses Zed's default configuration and data names:

| Platform | Settings directory | Data directory |
| --- | --- | --- |
| macOS | `~/.config/zed` | `~/Library/Application Support/Zed` |
| Linux | `$XDG_CONFIG_HOME/zed` or `~/.config/zed` | `$XDG_DATA_HOME/zed` or `~/.local/share/zed` |
| Windows | `%APPDATA%\Zed` | `%LOCALAPPDATA%\Zed` |

Back up an existing profile before adopting Bex. The bundled launcher supports `--user-data-dir DIR`; its settings then live in `DIR/config`. For a separate macOS profile, launch the installed app explicitly:

```bash
/Applications/Bex.app/Contents/MacOS/cli --user-data-dir "$HOME/.bex-desktop-profile" --new .
```

A separate profile does **not** remove macOS's shared stable-channel single-instance check. Quit the other editor first. This limitation and the paths above come from the [pinned path implementation](https://github.com/bex-co/bex-desktop/blob/dafcb728f534061859bdc51978acc504d0c2b2d0/crates/paths/src/paths.rs) and [macOS instance check](https://github.com/bex-co/bex-desktop/blob/dafcb728f534061859bdc51978acc504d0c2b2d0/crates/zed/src/zed/mac_only_instance.rs).

## Updates and version checks

The release enables automatic update checks by default and points its server URL at `https://bex.co`. **Bex → Check for Updates** requests the stable feed. A downloaded update and a successful restart are separate steps; save your work before restarting. End-to-end upgrading to a newer release was not exercised during this guide's validation.

For a manual update, save and quit the editor, download the newer matching artifact from [/download](/download), and repeat the platform's installation steps while retaining your settings and project files. On Linux, extract into a new directory instead of mixing files from two versions.

Use **About Bex** and the release page to verify what you installed. The inspected macOS bundle has base version `1.20.0` and bundle revision `4`; its bundled `cli --version` prints the base version and app path, so that output alone does not identify the `-bex.4` revision. If an update check fails, use the [recovery guide](troubleshooting.md).
