LIVEReading: Run Bitwarden's Web Vault Locally from SourceTotal time: 12 minSteps: 5Worked first time: 65% LIVEReading: Run Bitwarden's Web Vault Locally from SourceTotal time: 12 minSteps: 5Worked first time: 65%
CBW
Run Bitwarden's Web Vault Locally from Source
Mediumgithub.com/bitwarden/clients2026-07-10

Run Bitwarden's Web Vault Locally from Source

Build and run the official Bitwarden web client on your own machine. Useful for testing, contributing, or inspecting the code before trusting it.

// Build stats

  • Total time12 min
  • Number of steps5
  • DifficultyMedium
  • Worked first time65%
// Before you start

What you need

  • A computer running macOS, Windows, or Linux
  • Node.js 20+ installed (nodejs.org)
  • npm 9+ installed (comes with Node.js)
  • Git installed (git-scm.com)
  • A Bitwarden account (free at bitwarden.com) OR a self-hosted Bitwarden server
01
Step 1 of 5

Clone the repository

2 min

This downloads the full Bitwarden client source code to your computer. The folder will be named 'clients' and will appear wherever your terminal is currently pointed.

Terminal · mac
$ git clone https://github.com/bitwarden/clients.git && cd clients
What you should see
A 'clients' folder is created. Your terminal prompt now shows you are inside it.
02
Step 2 of 5

Install Node dependencies

5-10 min

Bitwarden uses npm workspaces, so one command installs packages for all the apps at once. This can take several minutes the first time — the node_modules folder will be large.

Terminal · mac
$ npm ci
What you should see
Lines of package download progress ending with 'added XXXX packages'. No red 'ERR!' lines.
This might happen

npm ci fails with 'engine' warnings or peer dependency errors

Make sure you are on Node.js 20 or higher. Run 'node -v' to check. If needed, install the correct version from nodejs.org and retry.

03
Step 3 of 5

Move into the web app folder

30 sec

The repository contains multiple apps (browser extension, desktop, CLI, web). You only need the web vault right now, so navigate into its subfolder.

Terminal · mac
$ cd apps/web
What you should see
Your terminal prompt now ends with 'apps/web'.
04
Step 4 of 5

Start the development server pointed at Bitwarden's live API

2 min

This compiles the web vault and serves it at http://localhost:8080. The 'cloud' flag tells it to connect to Bitwarden's real servers, so you can log in with your existing account. The first build takes a minute or two.

Terminal · mac
$ npm run build:watch:dev:cloud
What you should see
After compilation you will see a line like '✔ Compiled successfully' or 'webpack compiled'. The terminal stays running — that is normal.
This might happen

Port 8080 is already in use and the server fails to start

Find and stop whatever is using port 8080, or check the project's apps/web/webpack.config.js for how to change the port. On Mac/Linux run 'lsof -i :8080' to find the conflicting process.

05
Step 5 of 5

Open the local web vault in your browser

1 min

With the dev server still running, open your browser and go to the local address. You will see the Bitwarden login screen served from your own machine, but it authenticates against Bitwarden's real cloud servers.

Terminal · mac
$ open http://localhost:8080
What you should see
The Bitwarden login page loads in your browser. You can log in with your normal Bitwarden email and password.
This might happen

'open' is not a recognised command on Windows or Linux

Just type http://localhost:8080 directly into your browser's address bar. The 'open' command is macOS-only.

// Status

cooked. baked. worked.

A locally running copy of the Bitwarden web vault at http://localhost:8080, connected to Bitwarden's cloud API, that you can log into with your existing account and inspect or modify.

// the honest bit

The honest part

This guide only covers the web vault in development mode — not the browser extension, desktop app, or CLI, which each have their own build steps documented at contributing.bitwarden.com. Development mode is NOT hardened for production use; do not expose port 8080 to the internet. If you want a fully self-hosted Bitwarden setup (including the backend server), that is a separate, much more involved project (bitwarden/server). This repo is primarily intended for developers who want to contribute code, not as an end-user installation method.