tmux-bitwarden

March 22, 2026 ยท View on GitHub

License CI

Search and access your Bitwarden vault directly inside tmux using fuzzy search.

Quickly search login items and paste credentials without leaving your terminal.

https://github.com/user-attachments/assets/ec9be323-7113-4016-8f17-59665666361c

Features

  • ๐Ÿ” Fuzzy search Bitwarden items with fzf
  • ๐Ÿ‘€ Preview username and URIs before selecting
  • ๐Ÿ” Secure vault access through the Bitwarden CLI
  • ๐Ÿ” Automatic re-authentication on session expiration
  • โšก Fast search with optional caching
  • โŒจ๏ธ Keyboard-driven workflow
  • ๐Ÿ“‹ Paste or copy credentials (username, password, TOTP)
  • ๐Ÿ”„ Refresh cache without leaving the selector
  • ๐Ÿ–ฅ Popup or split pane interface

Requirements

You need the following tools installed:

Installation

Add the plugin to your .tmux.conf:

set -g @plugin 'Alkindi42/tmux-bitwarden'

Then, install it:

prefix + I

Usage

Press: prefix + b to open the Bitwarden selector.

You can then:

  • search your vault items
  • preview item details
  • paste or copy credentials

Key Bindings

Available inside the selector:

KeyAction
EnterPaste password into the active pane
Ctrl-yCopy password to clipboard
Ctrl-uPaste username into the active pane
Alt-uCopy username to clipboard
Ctrl-rRefresh cached items
Alt-tCopy TOTP to clipboard
Ctrl-tPaste TOTP into the active pane

Authentication

Before using the plugin, you only need to log in to Bitwarden using the CLI:

bw login

No manual BW_SESSION export is required.

The plugin automatically:

  • reuses your existing Bitwarden session when available
  • prompts for unlock only when necessary
  • retries operations transparently if the session expires

Configuration

All options are optional.

Default configuration

The plugin works out of the box with the following defaults:

OptionDefault
@bw-keyb
@bw-uipopup
@bw-ui-split-size20
@bw-ui-popup-width80%
@bw-ui-popup-height80%
@bw-cachetrue
@bw-cache-ttl86400
@bw-cache-file~/.cache/tmux-bitwarden/items.json

Example configuration

set -g @bw-key 'b'
set -g @bw-ui 'popup'
set -g @bw-cache 'true'
set -g @bw-cache-ttl '86400'

UI options

OptionDescription
@bw-uipopup or split
@bw-ui-split-sizeHeight of the split pane
@bw-ui-popup-widthPopup width (%)
@bw-ui-popup-heightPopup height (%)

Example:

set -g @bw-ui 'split'
set -g @bw-ui-split-size '20'
set -g @bw-ui-popup-height '90'

Cache options

OptionDescription
@bw-cacheEnable or disable caching
@bw-cache-ttlCache duration in seconds (-1 to never expire)
@bw-cache-fileCache file location
set -g @bw-cache 'true'
set -g @bw-cache-ttl '86400'

With -1, cached items never expire automatically.
You can refresh the cache anytime inside the selector with Ctrl-r.

Security

  • Passwords are never stored in the cache
  • Only metadata (name, username, URIs) is cached
  • Passwords are retrieved only when required
  • Vault access is handled by the Bitwarden CLI session

License

This project is licensed under the MIT License.