Skip to main content

System requirements

This page outlines the software, tools, and system requirements needed to develop Bitwarden client applications.

Universal requirements

These requirements apply to all applications in the repository:

Node.js

Required version: Node.js >= 22.12.0The repository specifies v22 in .nvmrc and enforces >= 22.12.0 in package.json engines.
Installation options:

npm

Required version: npm ~10 (npm 10.x.x)Comes bundled with Node.js 22.12.0+
# Verify npm version
npm --version  # Should show 10.x.x

# Update npm if needed
npm install -g npm@10

Git

Required for: Cloning the repository and version control
# Verify installation
git --version  # Any recent version is fine

# Install if needed
# macOS: Included with Xcode Command Line Tools
xcode-select --install

# Ubuntu/Debian
sudo apt-get install git

# Windows: Download from git-scm.com

Application-specific requirements

Browser extension

Supported browsers for development:
  • Chrome: Version 90 or later
  • Chromium: Latest version
  • Brave, Vivaldi, Edge: Based on Chromium, should work
Development:
cd apps/browser
npm run build:chrome
# Load unpacked extension from build/
Build requirements:
  • Memory: 8 GB RAM minimum (builds use --max-old-space-size=8192)
  • Disk space: ~2 GB for dependencies and build artifacts

Desktop application

Platform-specific requirements:
Required:
  • Windows 10 or later (64-bit)
  • Visual Studio Build Tools 2019 or later
  • Python 3.x (for node-gyp)
Installation:
# Install build tools
npm install --global windows-build-tools

# Or install Visual Studio with C++ workload
# Download from visualstudio.microsoft.com
Native modules:
  • Desktop app includes Rust native modules
  • Rust toolchain required for building native components
Electron version: 39.2.6 (specified in package.json) System resources:
  • Memory: 4 GB RAM minimum, 8 GB recommended
  • Disk space: ~3 GB for dependencies and build artifacts

Web vault

Development server requirements:
  • Node.js: 22.12.0+ (see universal requirements)
  • npm: 10.x (see universal requirements)
  • Memory: 4 GB RAM minimum (webpack dev server)
  • Disk space: ~1.5 GB for dependencies
Browser for testing:
  • Chrome/Firefox/Safari/Edge (latest versions)
  • Modern browser with ES2016+ support
Development:
cd apps/web
npm run build:oss:watch  # Development server
# Serves at http://localhost:8080

Command-line interface

Runtime requirements:
  • Node.js: 22.12.0+ for development
  • For distribution: Packaged binaries have no Node.js requirement
Build requirements:
Only requires Node.js and npm:
cd apps/cli
npm run build:oss
node build/bw.js --help

Development tools

While not strictly required, these tools significantly improve the development experience: Code editor:
  • Visual Studio Code (recommended) - Repository includes VS Code configuration
    • Extensions: ESLint, Prettier, Angular Language Service
    • Workspace file: clients.code-workspace
Version control:
  • Git client - Command line or GUI (GitKraken, GitHub Desktop, etc.)
Build tools:
  • Nx Console - VS Code extension for running Nx commands
  • concurrently - Included in devDependencies for parallel builds

Optional

These tools are helpful for specific tasks: Docker:
  • For testing self-hosted web vault deployments
  • Not required for development
Package managers (CLI distribution):
  • Homebrew (macOS/Linux) - For testing CLI installation
  • Chocolatey (Windows) - For testing CLI installation
  • Snap (Linux) - For testing snap package

System resources

Minimum requirements

  • CPU: Dual-core processor
  • Memory: 8 GB RAM
  • Disk: 10 GB free space (for all apps + dependencies)
  • Internet: Required for downloading dependencies
  • CPU: Quad-core processor or better
  • Memory: 16 GB RAM (for running multiple apps simultaneously)
  • Disk: 20 GB free space (SSD recommended for faster builds)
  • Internet: Broadband connection

Verification

Run these commands to verify your environment:
# Check Node.js version
node --version
# Expected: v22.12.0 or higher

# Check npm version
npm --version
# Expected: 10.x.x

# Check Git
git --version
# Expected: Any recent version

# For desktop development - check Rust (if installed)
rustc --version
# Expected: 1.70.0 or higher

# Check Python (for node-gyp on Windows)
python --version
# Expected: 3.x.x

Troubleshooting

Node version issues

If you see errors about Node.js version, ensure you’re using Node.js 22.12.0 or later.
# Using nvm (recommended)
nvm install 22
nvm use 22

# Verify
node --version

Native module build errors

If you encounter errors building native modules:
# Rebuild native modules
cd apps/desktop
npm run postinstall

# Or rebuild manually
npx electron-rebuild

Memory errors during build

If builds fail with out-of-memory errors:
# Increase Node.js memory limit (already set in scripts)
# The browser build uses: --max-old-space-size=8192
# If still failing, close other applications

Next steps

Installation

Clone the repository and install dependencies

Building

Build and run the applications

Build docs developers (and LLMs) love