Letta logo

Skill

1password

manage secrets with 1Password CLI

Published by Letta Updated Jul 13
Covers Security CLI Authentication

Description

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.

SKILL.md

1Password CLI

Follow the official CLI get-started steps. Don't guess install commands.

Prerequisites

  • tmux is required for reliable op commands (the shell tool uses fresh TTYs per command, causing re-auth issues without tmux)
    • macOS: brew install tmux
    • Linux (Debian/Ubuntu): sudo apt install tmux
    • Linux (RHEL/Fedora): sudo dnf install tmux

References

  • references/get-started.md (install + app integration + sign-in flow)
  • references/cli-examples.md (real op examples)

Workflow

  1. Check OS + shell.
  2. Verify CLI present: op --version.
  3. Confirm desktop app integration is enabled (per get-started) and the app is unlocked.
  4. REQUIRED: create a fresh tmux session for all op commands (no direct op calls outside tmux).
  5. Sign in / authorize inside tmux: op signin (expect app prompt).
  6. Verify access inside tmux: op whoami (must succeed before any secret read).
  7. If multiple accounts: use --account or OP_ACCOUNT.

REQUIRED tmux session

The shell tool uses a fresh TTY per command. To avoid re-prompts and failures, always run op inside a dedicated tmux session with a fresh socket and session name.

Socket conventions:

  • Put sockets under ${LETTA_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/letta-tmux-sockets} so they're isolated and easy to clean up.
  • Use a timestamped session name (e.g. op-auth-$(date +%Y%m%d-%H%M%S)) so you never reuse an old session — previous auth state may be stale or broken.
  • Kill the session when you're done (tmux -S "$SOCKET" kill-session -t "$SESSION") to avoid leaking long-running tmux processes.

Full example:

SOCKET_DIR="${LETTA_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/letta-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/letta-op.sock"
SESSION="op-auth-$(date +%Y%m%d-%H%M%S)"

tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op signin --account my.1password.com" Enter
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op whoami" Enter
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op vault list" Enter
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
tmux -S "$SOCKET" kill-session -t "$SESSION"

Guardrails

  • Never paste secrets into logs, chat, or code.
  • Prefer op run / op inject over writing secrets to disk.
  • If sign-in without app integration is needed, use op account add.
  • If a command returns "account is not signed in", re-run op signin inside tmux and authorize in the app.
  • Do not run op outside tmux; stop and ask if tmux is unavailable.

© 2026 YourAI.tools. Every skill from an identity-verified publisher.

Independent catalog. Not affiliated with, endorsed by, or sponsored by Anthropic or any listed publisher. All trademarks belong to their respective owners.