com um clique
bitwarden-cli
Bitwarden CLI per credential management — usa BW_SESSION dal bashrc
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Bitwarden CLI per credential management — usa BW_SESSION dal bashrc
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Diagnose and fix Hermes messaging gateway connectivity issues (Telegram/Discord down, stale locks, PM2 problems)
Backup Hermes agent to GitHub and restore on a new VPS. Covers what to include/exclude, GitHub token requirements, and restore steps. Includes automated scripts.
GitHub auth setup: HTTPS tokens, SSH keys, gh CLI login.
Clone, create, fork, configure, and manage GitHub repositories. Manage remotes, secrets, releases, and workflows. Works with gh CLI or falls back to git + GitHub REST API via curl.
Fetch YouTube video transcripts and transform them into structured content (chapters, summaries, threads, blog posts). Use when the user shares a YouTube URL or video link, asks to summarize a video, requests a transcript, or wants to extract and reformat content from any YouTube video.
Manage Linear issues, projects, and teams via the GraphQL API. Create, update, search, and organize issues. Uses API key auth (no OAuth needed). All operations via curl — no dependencies.
| name | bitwarden-cli |
| description | Bitwarden CLI per credential management — usa BW_SESSION dal bashrc |
CLI ufficiale Bitwarden installato in ~/.local/bin/bw.
La sessione è salvata in ~/.bashrc. Ogni nuova sessione terminal:
export PATH="$HOME/.local/bin:$PATH"
source ~/.bashrc
Se il vault è bloccato:
bw unlock
# Inserire master password → copia la sessione in ~/.bashrc
# Sync vault
bw sync
# Cercare un item
bw list items --search "nome"
# Username
bw get username "nome"
# Password (copia in clipboard 8min)
bw get password "nome"
# Tutto l'item JSON
bw get item "nome"
# Copiare password
echo $(bw get password "nome") | xclip -sel clip
When running in a non-interactive context (script, subagent, cron) and session is expired:
# 1. Unlock with master password — outputs "export BW_SESSION=..."
BW_MASTER_PASSWORD='Coccobil-$0165772986' bw unlock --passwordenv BW_MASTER_PASSWORD
# 2. Extract raw session token from output
SESS=$(BW_MASTER_PASSWORD='Coccobil-$0165772986' bw unlock --passwordenv BW_MASTER_PASSWORD 2>/dev/null | grep 'export BW_SESSION' | cut -d'"' -f2)
# 3. Use --session flag with raw token (NOT env var for subsequent commands)
bw list items --session "$SESS" --search "Surface Pro 3"
Key insight: export BW_SESSION=... in a subshell doesn't propagate to all bw subcommands reliably. Always use --session "$SESS" explicitly on each command.
The session token expires periodically. Two recovery options:
User runs bw unlock locally, gets BW_SESSION token, pastes it in chat. Use with --session flag:
bw list items --search "name" --session 'hvmPvHrpJShs2jqof...'
If session is expired and user can't unlock, they must run bw unlock in a terminal, then copy new session to ~/.bashrc.
bw unlock --passwordenv behaviorBW_MASTER_PASSWORD='...' bw unlock --passwordenv BW_MASTER_PASSWORD
# May exit 1 ("You are not logged in") even with correct password
# This is a known CLI bug — session may still be valid in ~/.bashrc
When session extraction fails: If grep 'export BW_SESSION' returns empty after unlock, fall back to the BW_SESSION already in ~/.bashrc — do NOT keep retrying unlock. Use bw sync --session "<session>" to verify.
--session flag bypasses BW_SESSION env variable — useful when env var is stalebw edit item — item updates fail with TypeError on some itemsbw get item <name> works; bw get item <id> may failbw get password <name> --session <S> --raw | tail -1 strips newlines cleanlymarco.info@zohomail.com.au (non marco.belladati@icloud.com)bw login <email> <password> → output contiene BW_SESSION="token..." → export BW_SESSION="..."Coccobil-$1990)bw unlock --passwordenv exits 1 even on success — don't trust exit code; trust the session token in ~/.bashrcbw edit item fallisceIl comando bw edit item <id> <encodedJson> ha un bug nel CLI Bitwarden:
TypeError: Cannot read properties of undefined (reading 'uris')login.uris dall'oggetto originale prima del merge, che è undefined se non inclusoSoluzione: Usa sempre il Web Vault (vault.bitwarden.com) per modifiche manuali, oppure passa l'item JSON completo altrimenti il merge fallisce. Non c'è workaround lato CLI — il bug è nel codice Node del CLI stesso.
Quando Hermes usa sudo in script Python o pipe, il $ nella password può causare problemi di shell expansion. Pattern affidabile:
SUDO_PASS='Coccobil-$1990'
echo "$SUDO_PASS" | sudo -S <comando>
O in Python:
import subprocess
password = 'Coccobil-$1990' # $ non causa problemi in Python strings
result = subprocess.run(['sudo', '-S', 'id'], input=password + '\n', text=True, capture_output=True)
Nota: sudo -S legge da stdin, non funziona se il processo non ha TTY. In questo caso, il password piping funziona ma solo se il processo ha accesso a stdin.
La sessione può essere passata in due modi:
# Via env (aggiorna ~/.bashrc)
export BW_SESSION="token"
# Via flag --session (più sicuro per scripting)
bw get item "nome" --session "token" --raw