Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including bitwarden-dmenu with all npm packages installed. Try it out:

var bitwardenDmenu = require("bitwarden-dmenu")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

bitwarden-dmenu v1.4.0

dmenu for bitwarden password manager.


npm node GitHub

dmenu for bitwarden which can copy usernames, passwords, and various fields to your clipboard.


$ bitwarden-dmenu --help
Usage: bitwarden-dmenu [options]

The DMENU_PATH environment variable can be used to point to an alternative dmenu implementation. Defaults to 'dmenu'.

  --bw-list-args      Arbitrary arguments to pass to bitwarden's 'list' command
                      Defaults to nothing.
  --clear-clipboard   Number of seconds to keep selected field in the clipboard.
                      Defaults to 15s.
  --dmenu-args        Sets arbitrary arguments to pass to dmenu
                      Defaults to nothing.
  --dmenu-pswd-args   Sets arbitrary arguments to pass to the dmenu password prompt
                      Defaults to nothing.
  --session-timeout   Number of seconds after an unlock that the menu can be accessed
                      without providing a password again. Defaults to 0s.
  --stdout            Prints the password and username to stdout
  --sync-vault-after  Number of seconds allowable between last bitwarden sync and
                      current time. Defaults to 0s.
  --on-error          Arbitrary command to run if the program fails. The thrown error
                      is piped to the given command. Defaults to none.

  --verbose           Show extra logs useful for debugging.

By default, this program runs at its most secure. No session is stored for any time period, the vault is updated every time it is used, and the clipboard is cleared every 15 seconds. In reality, you may want something a little more lenient. Here is the command I use in my personal i3wm config.

bitwarden-dmenu --clear-clipboard 30 --session-timeout 100 --sync-vault-after 3600 --on-error 'xargs notify-send --urgency=low'


# login with bitwarden-cli once before using bitwarden-dmenu
bw login
# install the cli
npm i -g bitwarden-dmenu

Depends on


Inspired by the no longer maintained keepass-dmenu


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free