Any interest in a Rust rewrite of Bitwarden CLI?

When looking at packaging Bitwarden CLI, I noticed the… scary dependency graph of NPM packages, some of them with security warnings.

Is anyone interested in a Rust rewrite? If I start one (caveat: I don’t have much spare time) is it OK to call it vaultwarden-cli?

Thanks in advance!

There may already be some similar projects, just what I found quickly with a Google search for Bitwarden CLI Rust and within GitHub. May save you some time trying to reinvent the wheel, might still see what you can do to contribute too if you have the time.

Please note I have not personally inspected the code for these projects, please do your own due diligence to review the code base and understand what is happening. Especially as the Bitwarden client is where the actual decryption happens.

1 Like

Thanks, rbw looks quite mature. I’ll probably read the code anyway before using it, but it looks good at first glance.


That is for the Secrets Manager, not the Vault. And thus useless for Vaultwarden.

Thanks for the clarification.

The Bitwarden Secrets Manager | Bitwarden.


[me@rocky9t01a bw]$ bw
Bitwarden CLI

Usage: Bitwarden CLI [OPTIONS] [COMMAND]

  register  Register
  item      Manage vault items
  sync      Pull the latest vault data from the server
  generate  Password and passphrase generators
  help      Print this message or the help of the given subcommand(s)

  -o, --output <OUTPUT>  [default: json] [possible values: json, yaml, table, tsv, none]
  -c, --color <COLOR>    [default: auto] [possible values: no, yes, auto]
  -h, --help             Print help
  -V, --version          Print version
[me@rocky9t01a bw]$ bw -V
Bitwarden CLI 0.0.2
[me@rocky9t01a bw]$

Ooh, an official one, finally! Thanks

It does not seem to be buildable just from the version in crates . io so for getting them in Linux distributions, rbw seems more promising for now Rust Package Registry (the description, and Dependencies showing it does not claim to use any other crate)

vs Rust Package Registry

1 Like