sushiswap-sdk
>
Securely interact with Bitwarden password manager via the bw CLI. Covers authentication (login/unlock/logout), vault operations (list/get/create/edit/delete items, folders, attachments), password/passphrase generation, organization management, and secure session handling. Use for "bitwarden", "bw", "password safe", "vaultwarden", "vault", "password manager", "generate password", "get password", "unlock vault". Requires bw CLI installed and internet access.
Sign in to like and favorite skills
>
Query real-time and historical financial data across equities and crypto—prices, market moves, metrics, and trends for analysis, alerts, and reporting.
Promote Doppel world builds across social platforms. Use when the agent wants to share builds on Twitter/X, Farcaster, Telegram, or Moltbook to drive observers, grow reputation, and recruit collaborators.
Secure vault operations using the Bitwarden command-line interface.
Activate this skill when the user wants to:
login, unlock, logout, status)get password, get username, get totp, get item)list, create, edit, delete, restore)generate)create attachment, get attachment)list organizations, move, confirm)Do NOT use for:
bw CLI installed (verify with bw --version)BW_SESSION environment variable or interactive unlockBitwarden CLI uses a two-step authentication model:
bw login) - Authenticates identity, creates local vault copybw unlock) - Decrypts vault, generates session keyCRITICAL: The Bitwarden CLI maintains a local copy of the vault that can become stale. Always run
before accessing vault data to ensure you have the latest items:bw sync
# Sync vault before any retrieval operation bw sync # Then proceed with vault operations bw get item "Coda API Token"
Best practice pattern for all vault operations:
bw sync (always!)This prevents working with outdated data, especially when:
# Login (supports email/password, API key, or SSO) bw login # Unlock to get session key bw unlock # Copy the export command from output, then: export BW_SESSION="..."
Use environment variables for automation:
# Method 1: API Key (recommended for automation) export BW_CLIENTID="user.xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" export BW_CLIENTSECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" bw login --apikey bw unlock --passwordenv BW_PASSWORD # if BW_PASSWORD set # Method 2: Password file bw unlock --passwordfile ~/.secrets/bw-master-password.txt
If the user explicitly requests saving the master password to disk for convenience:
# 1. Create secrets directory in workspace mkdir -p ~/.openclaw/workspace/.secrets chmod 700 ~/.openclaw/workspace/.secrets # 2. Store password (user enters interactively) read -s BW_MASTER_PASS echo "$BW_MASTER_PASS" > ~/.openclaw/workspace/.secrets/bw-password.txt chmod 600 ~/.openclaw/workspace/.secrets/bw-password.txt # 3. Ensure git ignores it echo ".secrets/" >> ~/.openclaw/workspace/.gitignore
Security requirements:
600 (user read/write only)700.secrets/ to .gitignore immediatelybw status
Returns JSON with
status: unauthenticated, locked, or unlocked.
# Lock (keep login, destroy session key) bw lock # Logout (complete logout, requires re-authentication) bw logout # REQUIRES CONFIRMATION
# All items bw list items # Search with filters bw list items --search github bw list items --folderid null --search "api key" bw list items --collectionid xxx --organizationid xxx # Other objects bw list folders bw list organizations bw list collections
# Get specific fields (searches by name if not UUID) bw get password "GitHub" bw get username "GitHub" bw get totp "GitHub" # 2FA code bw get notes "GitHub" bw get uri "GitHub" # Get full item JSON (useful for scripts) bw get item "GitHub" --pretty # By exact ID bw get item 7ac9cae8-5067-4faf-b6ab-acfd00e2c328
Note:
get returns only one result. Use specific search terms.
Workflow: template → modify → encode → create
# Create folder bw get template folder | jq '.name="Work Accounts"' | bw encode | bw create folder # Create login item bw get template item | jq \ '.name="New Service" | .login=$(bw get template item.login | jq '.username="[email protected]" | .password="secret123"')' \ | bw encode | bw create item
Item types: Login (1), Secure Note (2), Card (3), Identity (4). See references/commands.md for details.
# Get item, modify password, save back bw get item <id> | jq '.login.password="newpass"' | bw encode | bw edit item <id> # Move to collection echo '["collection-uuid"]' | bw encode | bw edit item-collections <item-id> --organizationid <org-id>
# Send to trash (recoverable for 30 days) bw delete item <id> # PERMANENT DELETE - REQUIRES EXPLICIT CONFIRMATION bw delete item <id> --permanent # Restore from trash bw restore item <id>
# Attach file to existing item bw create attachment --file ./document.pdf --itemid <item-id> # Download attachment bw get attachment document.pdf --itemid <item-id> --output ./downloads/
# Default: 14 chars, upper+lower+numbers bw generate # Custom: 20 chars with special characters bw generate --uppercase --lowercase --number --special --length 20 # Passphrase: 4 words, dash-separated, capitalized bw generate --passphrase --words 4 --separator "-" --capitalize --includeNumber
# List organizations bw list organizations # List org collections bw list org-collections --organizationid <org-id> # Move personal item to organization echo '["collection-uuid"]' | bw encode | bw move <item-id> <org-id> # Confirm member (verify fingerprint first!) bw get fingerprint <user-id> bw confirm org-member <user-id> --organizationid <org-id> # Device approvals (admin only) bw device-approval list --organizationid <org-id> bw device-approval approve <request-id> --organizationid <org-id>
# Import from other password managers bw import --formats # list supported formats bw import lastpasscsv ./export.csv # Export vault - REQUIRES CONFIRMATION for destination outside workspace bw export --output ~/.openclaw/workspace/ --format encrypted_json bw export --output ~/.openclaw/workspace/ --format zip # includes attachments
# Configure for self-hosted instance bw config server https://vaultwarden.example.com # EU cloud bw config server https://vault.bitwarden.eu # Check current server bw config server
| Action | Confirmation Required | Reason |
|---|---|---|
| Yes | Irreversible data loss |
| Yes | Destroys session, requires re-auth |
outside workspace | Yes | Potential data exfiltration |
| Yes | Opens network service |
| Saving master password to disk | Yes (with security instructions) | Credential exposure risk |
(for installing bw) | Yes | System privilege escalation |
BW_SESSION - redact from all output--quiet when piping passwordsbw lock or bw logout, or new terminalBW_PASSWORD, BW_CLIENTID, BW_CLIENTSECRET should be unset after use in scripts~/.openclaw/workspace/.secrets/ subdirectory for sensitive files (mode 700).secrets/ to .gitignoreUse API key authentication instead of email/password, or provide
client_secret when prompted.
Run
bw unlock and set BW_SESSION environment variable.
export NODE_EXTRA_CA_CERTS="/path/to/ca-cert.pem"
export BITWARDENCLI_DEBUG=true