.github | ||
.husky | ||
.vscode | ||
config | ||
examples | ||
jslib@6bcadc4f40 | ||
scripts | ||
spec | ||
src | ||
stores | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.json | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.npmignore | ||
.prettierignore | ||
.prettierrc.json | ||
CONTRIBUTING.md | ||
ISSUE_TEMPLATE.md | ||
LICENSE.txt | ||
package-lock.json | ||
package.json | ||
README.md | ||
SECURITY.md | ||
tsconfig.json | ||
tslint.json | ||
webpack.config.js |
Bitwarden Command-line Interface
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.
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
- Snap
sudo snap install bw
Documentation
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
Detailed Documentation
We provide detailed documentation and examples for using the CLI in our help center at https://help.bitwarden.com/article/cli/.
Build/Run
Requirements
- Node.js v16.13.1.
- Testing is done against Node 16, other versions may work, but are not guaranteed.
- NPM v8
Run the app
npm install
npm run sub:init # initialize the git submodule for jslib
npm run build:watch
You can then run commands from the ./build
folder:
node ./build/bw.js login
We're Hiring!
Interested in contributing in a big way? Consider joining our team! We're hiring for many positions. Please take a look at our Careers page to see what opportunities are currently open as well as what it's like to work at Bitwarden.
Contribute
Code contributions are welcome! Please commit any pull requests against the master
branch. Learn more about how to contribute by reading the CONTRIBUTING.md
file.
Security audits and feedback are welcome. Please open an issue or email us privately if the report is sensitive in nature. You can read our security policy in the SECURITY.md
file.
Prettier
We recently migrated to using Prettier as code formatter. All previous branches will need to updated to avoid large merge conflicts using the following steps:
- Check out your local Branch
- Run
git merge ec53a16c005e0dd9aef6845c18811e8b14067168
- Resolve any merge conflicts, commit.
- Run
npm run prettier
- Commit
- Run
git merge -Xours 910b4a24e649f21acbf4da5b2d422b121d514bd5
- Push
Git blame
We also recommend that you configure git to ignore the prettier revision using:
git config blame.ignoreRevsFile .git-blame-ignore-revs