clients/apps/cli
Jared Snider 77a0341f2e
Auth/PM-34506 - LoginStrategyService - Refactor cache and timeout out into own services (#20108)
* PM-34506 - Extract LoginStrategyCacheService as single owner of mid-auth cache state

* PM-34506 - Refactor LoginStrategySessionTimeoutService: inject cache service, add MessageListener, expose abstraction

* PM-34506 - Remove cache state and timer logic from LoginStrategyService, delegate to collaborating services

* PM-34506 - Register LoginStrategyCacheService and LoginStrategySessionTimeoutService in all client DI contexts

* PM-34506 - Components read loginSessionTimeout$ from LoginStrategySessionTimeoutServiceAbstraction

* PM-34506 - Add tests for null cache, and non-API error cache-clear paths in LoginStrategyService

* PM-34506 - Add sessionTimeout test for logInNewDeviceVerification with no cached session

* PM-34506 - Rename abstractions to follow Default prefix convention (no Abstraction suffix)

* PM-34506 - Use fake timers in startSessionTimeout test to eliminate flaky date assertion

* PM-34506 - Move registerTaskHandler into DefaultLoginStrategySessionTimeoutService constructor, remove registerSessionTimeoutTask

* PM-34506 - PR feedback - DefaultLoginStrategySessionTimeoutService - make cache clear more resilient.

* PM-34506 - 2FA Auth Comp - fix tests

* PM-34506 - rename login strategy default service files to include default- prefix

Aligns file names with class names and the established codebase convention where
default implementations are prefixed with `default-` (e.g. default-logout.service.ts).

* PM-34506 - TEMP - Default Login Strategy Session Timeout - adjust to 30 seconds to make QA's life easier.

* PM-34506 - DefaultLoginStrategySessionTimeoutService - revert temp change and set LOGIN_SESSION_TIMEOUT_LENGTH back to 5 min
2026-04-17 12:47:12 -04:00
..
.vscode Multi root workspace tweaks (#2858) 2022-06-13 21:39:36 -05:00
config [PM-11290] Enable SDK (#11378) 2024-10-07 13:56:02 +02:00
examples Move CLI to apps/cli 2022-05-25 10:57:15 +02:00
scripts [BRE-610] - Sign windows CLI (#13542) 2025-02-26 13:17:24 +00:00
src Auth/PM-34506 - LoginStrategyService - Refactor cache and timeout out into own services (#20108) 2026-04-17 12:47:12 -04:00
stores Bump year in copyright (#18132) 2025-12-29 09:10:34 -06:00
.npmignore Move CLI to apps/cli 2022-05-25 10:57:15 +02:00
CLAUDE.md [PM-26337] Create a Claude markdown file (#16676) 2025-10-03 16:48:01 +02:00
entitlements.plist [PM-12416] Fix cli signing issues (#15132) 2025-06-24 09:36:14 +02:00
jest.config.js Implement and extend tsconfig.base across projects (#14554) 2025-06-02 20:38:17 +00:00
package.json [deps] Vault: Update koa to v3.1.2 [SECURITY] (#19294) 2026-04-15 12:03:13 -04:00
project.json build(cli): integrate nx (#16648) 2025-10-07 09:48:02 -04:00
README.md Remove gitter chat badges from READMEs (#19368) 2026-03-04 16:33:27 +00:00
test.setup.ts [EC-423] Fix unit tests (#3265) 2022-08-11 11:35:08 +10:00
tsconfig.json Implement and extend tsconfig.base across projects (#14554) 2025-06-02 20:38:17 +00:00
tsconfig.spec.json [EC-423] Fix unit tests (#3265) 2022-08-11 11:35:08 +10:00
webpack.base.js [PM-25911] Add commercial sdk internal as dependency (#16883) 2025-10-27 15:17:20 +01:00
webpack.config.js build(cli): integrate nx (#16648) 2025-10-07 09:48:02 -04:00

Github Workflow build on main

Bitwarden Command-line Interface

Platforms

The Bitwarden CLI is a powerful, full-featured command-line interface (CLI) tool to access and manage a Bitwarden vault. The CLI is written with TypeScript and Node.js and can be run on Windows, macOS, and Linux distributions.

Developer Documentation

Please refer to the CLI section of the Contributing Documentation for build instructions, recommended tooling, code style tips, and lots of other great information to get you started.

User Documentation

Download/Install

You can install the Bitwarden CLI multiple different ways:

NPM

If you already have the Node.js runtime installed on your system, you can install the CLI using NPM. NPM makes it easy to keep your installation updated and should be the preferred installation method if you are already using Node.js.

npm install -g @bitwarden/cli

Native Executable

We provide natively packaged versions of the CLI for each platform which have no requirements on installing the Node.js runtime. You can obtain these from the downloads section in the documentation.

Other Package Managers

  • Chocolatey
    choco install bitwarden-cli
    
  • Homebrew
    brew install bitwarden-cli
    

    ⚠️ The homebrew version is not recommended for all users.

    Homebrew pulls the CLI's GPL build and does not include device approval commands for Enterprise SSO customers.

  • Snap
    sudo snap install bw
    

Help Command

The Bitwarden CLI is self-documented with --help content and examples for every command. You should start exploring the CLI by using the global --help option:

bw --help

This option will list all available commands that you can use with the CLI.

Additionally, you can run the --help option on a specific command to learn more about it:

bw list --help
bw create --help

Help Center

We provide detailed documentation and examples for using the CLI in our help center at https://help.bitwarden.com/article/cli/.