.dotfiles/.config/fish/functions/bw_open.fish
2026-02-23 22:20:58 +02:00

27 lines
645 B
Fish
Executable file

#!/bin/fish
function bw_open --description "Ensure Bitwarden session is valid"
# If no session exists OR session invalid → re-auth
if not bw unlock --check >/dev/null 2>&1
echo "Unlocking Bitwarden..."
# Ask for password only once
if not set -q BW_PASSWORD
read -sP "Bitwarden master password: " BW_PASSWORD
echo
end
# Login if needed
if not bw login --check >/dev/null 2>&1
bw login --raw $argv[1] $BW_PASSWORD >/dev/null
end
# Unlock and store as universal variable
set -Ux BW_SESSION (bw unlock --raw $BW_PASSWORD)
end
echo $BW_SESSION
end