| name | bitwarden |
| description | Manage passwords and credentials via Bitwarden CLI (bw). Use for storing, retrieving, creating, or updating logins, credit cards, secure notes, and identities. Trigger when automating authentication, filling payment forms, or managing secrets programmatically. |
Bitwarden CLI
Full read/write vault access via bw command.
Prerequisites
brew install bitwarden-cli
bw login <email>
Session Management
Bitwarden requires an unlocked session. Use the helper script:
source scripts/bw-session.sh <master_password>
Or manually:
export BW_SESSION=$(echo '<password>' | bw unlock --raw)
bw sync
Common Operations
Retrieve credentials
bw get password "Site Name"
bw get username "Site Name"
bw get item "Site Name" --pretty | jq '.login'
Create login
bw get template item | jq '
.type = 1 |
.name = "Site Name" |
.login.username = "user@email.com" |
.login.password = "secret123" |
.login.uris = [{uri: "https://example.com"}]
' | bw encode | bw create item
Create credit card
bw get template item | jq '
.type = 3 |
.name = "Card Name" |
.card.cardholderName = "John Doe" |
.card.brand = "Visa" |
.card.number = "4111111111111111" |
.card.expMonth = "12" |
.card.expYear = "2030" |
.card.code = "123"
' | bw encode | bw create item
Get card for payment automation
bw get item "Card Name" | jq -r '.card | "\(.number) \(.expMonth)/\(.expYear) \(.code)"'
List items
bw list items | jq -r '.[] | "\(.type)|\(.name)"'
Search
bw list items --search "vilaviniteca" | jq '.[0]'
Item Types
| Type | Value | Use |
|---|
| Login | 1 | Website credentials |
| Secure Note | 2 | Freeform text |
| Card | 3 | Credit/debit cards |
| Identity | 4 | Personal info |
References
Tips
- Always sync after creating/editing items:
bw sync
- Session expires — re-unlock if you get auth errors
- Delete sensitive messages after receiving credentials
- Card numbers may not import from other managers (security restriction)