> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Run desktop in 5 minutes

Prepare Rust and your operating system's build tools, start a reachable Web backend, launch the Tauri window and verify tray, shortcut and local task behavior.

## 1. Install the general and native tools

Complete Before you start, clone your Desktop repository or All Platforms monorepo, and open it in the editor. Desktop is a native window around the same Web app. It does not include a second implementation of accounts or chat. The five-minute launch begins after dependencies and native tools are installed; first-time installation and Rust compilation often take longer.

On Windows install Microsoft C++ Build Tools using the Tauri prerequisites link below. In its installer select Desktop development with C++, keep the Windows SDK selected and complete installation. Ensure Microsoft Edge WebView2 Runtime is installed. Install Rust from rustup.rs using rustup-init.exe; keep the default MSVC toolchain. Reopen your terminal after installation.

On macOS, run xcode-select --install in Terminal and complete the command-line tools dialog if they are not installed. Install Rust using the macOS command from rustup.rs. On Linux, follow the Tauri prerequisite page for your exact distribution's WebKitGTK, compiler, tray and system-library packages, then install Rust. Linux package names vary; do not run another distribution's commands.

Open a terminal at the repository root and run the version checks below. Both rustc and cargo must print versions; cargo is Rust's build tool. If either is missing, finish the installation and reopen the terminal before continuing.

[Install the tools and get the code](https://supastack.dev/docs/web/before-you-start.md)

[Learn how to run a command and edit a file](https://supastack.dev/docs/web/terminal-basics.md)

[Tauri's operating-system prerequisite checklist](https://tauri.app/start/prerequisites/)

[Official Rust installer](https://rustup.rs/)

```
rustc --version
cargo --version
corepack pnpm install
```


## 2. Start or choose the Web backend

If your checkout contains apps/web, follow the Web tutorial, create apps/web/.env.local, run the Web server in a separate terminal using the command below and leave it running. First check http://localhost:3000 in your browser. You can use the /dashboard demonstration without a database; real sign-in at /auth needs migrated Postgres.

A Desktop-only checkout does not contain apps/web. Use the separately running Web backend supplied for your product, and open its URL in your browser to confirm it works. The desktop shell cannot create the backend for you. Do not try the Web command below if that folder is absent. Step 3 shows how to choose a provided backend address.

[Run a local Web backend](https://supastack.dev/docs/web/ship-in-5-minutes.md)

[Prepare real accounts with Postgres](https://supastack.dev/docs/web/database.md)

```
# Only when this checkout contains apps/web:
corepack pnpm --filter @supastack/web dev
```


## 3. Launch the desktop window

Open a second terminal at the repository root while the backend stays running. For the default local backend at http://localhost:3000, run the first command below. Cargo may download libraries and compile the shell; wait for the Supastack window to open. Compiler messages during the first build are expected.

For a provided backend, replace https://app.example.com in the appropriate operating-system block below with its actual URL. Run only your platform's block. SUPASTACK_APP_URL is a terminal environment setting, read when the native process starts. Putting it only in root .env will not configure the shell. Keep the backend URL free of embedded usernames or passwords.

In the All Platforms monorepo, corepack pnpm dev:desktop can start Web and Tauri together once pnpm is on PATH as explained in Before you start. The filtered command below also works in Desktop-only checkouts, with the backend running separately.

```
# Default local backend (all operating systems):
corepack pnpm --filter @supastack/desktop dev

# Custom backend — Windows PowerShell only:
$env:SUPASTACK_APP_URL = 'https://app.example.com'
corepack pnpm --filter @supastack/desktop dev

# Custom backend — macOS / Linux only:
SUPASTACK_APP_URL=https://app.example.com corepack pnpm --filter @supastack/desktop dev
```


## 4. Check the window, tray and shortcut

Success means the window displays the same homepage as your backend in the browser. The desktop window has no browser address bar. To open the credential-free demonstration, quit the shell using the tray's Quit action, then run your operating system's block below in the desktop terminal while the Web server stays running. This loads /dashboard directly; follow the Web tutorial's local task steps there. Real account sign-in uses the backend's database, just as in the browser.

Close the window using its close button: the app should hide to the tray rather than exit. Click the Supastack tray icon or press Ctrl + Shift + Space on Windows/Linux, or Command + Shift + Space on macOS, to show it again. Use the tray's Quit action to exit. To end development completely, also press Ctrl + C in the desktop terminal and then stop the backend terminal.

If the window is blank or shows a connection problem, first open the configured URL in a browser. Start the backend or correct the URL, then restart Tauri. If Rust reports linker.exe not found, install the Windows C++ workload and reopen the terminal. If Linux reports a missing system library, follow the distribution-specific prerequisites. If the hotkey is already taken, use the tray and follow Native behavior to change it.

This launches a local development window; it does not produce a signed installer or publish an app. Follow Desktop distribution for installer builds, platform signing and testing on another machine. Windows compilation does not verify macOS or Linux behavior.

[Configure native window and shortcut behavior](https://supastack.dev/docs/desktop/run.md)

[Build and verify desktop installers](https://supastack.dev/docs/desktop/release.md)

```
# Open the local demo — Windows PowerShell only:
$env:SUPASTACK_APP_URL = 'http://localhost:3000/dashboard'
corepack pnpm --filter @supastack/desktop dev

# Open the local demo — macOS / Linux only:
SUPASTACK_APP_URL=http://localhost:3000/dashboard corepack pnpm --filter @supastack/desktop dev
```


## Use the local app URL

Without an override, Tauri loads http://localhost:3000. Set SUPASTACK_APP_URL only if your local Next.js app uses another reachable HTTP(S) origin. Credential-bearing or non-web URLs are rejected.

The development bundle identifier and release configuration are not production-ready settings. Keep the release preflight and platform signing for the separate release guide.


## Next

[Run and configure the shell](https://supastack.dev/docs/desktop/run.md)
