{"skill":{"slug":"1password","displayName":"1password","summary":"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.","description":"---\nname: 1password\ndescription: 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.\nhomepage: https://developer.1password.com/docs/cli/get-started/\nmetadata: {\"clawdbot\":{\"emoji\":\"🔐\",\"requires\":{\"bins\":[\"op\"]},\"install\":[{\"id\":\"brew\",\"kind\":\"brew\",\"formula\":\"1password-cli\",\"bins\":[\"op\"],\"label\":\"Install 1Password CLI (brew)\"}]}}\n---\n\n# 1Password CLI\n\nFollow the official CLI get-started steps. Don't guess install commands.\n\n## References\n\n- `references/get-started.md` (install + app integration + sign-in flow)\n- `references/cli-examples.md` (real `op` examples)\n\n## Workflow\n\n1. Check OS + shell.\n2. Verify CLI present: `op --version`.\n3. Confirm desktop app integration is enabled (per get-started) and the app is unlocked.\n4. REQUIRED: create a fresh tmux session for all `op` commands (no direct `op` calls outside tmux).\n5. Sign in / authorize inside tmux: `op signin` (expect app prompt).\n6. Verify access inside tmux: `op whoami` (must succeed before any secret read).\n7. If multiple accounts: use `--account` or `OP_ACCOUNT`.\n\n## REQUIRED tmux session (T-Max)\n\nThe 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/session name.\n\nExample (see `tmux` skill for socket conventions, do not reuse old session names):\n\n```bash\nSOCKET_DIR=\"${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/clawdbot-tmux-sockets}\"\nmkdir -p \"$SOCKET_DIR\"\nSOCKET=\"$SOCKET_DIR/clawdbot-op.sock\"\nSESSION=\"op-auth-$(date +%Y%m%d-%H%M%S)\"\n\ntmux -S \"$SOCKET\" new -d -s \"$SESSION\" -n shell\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- \"op signin --account my.1password.com\" Enter\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- \"op whoami\" Enter\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- \"op vault list\" Enter\ntmux -S \"$SOCKET\" capture-pane -p -J -t \"$SESSION\":0.0 -S -200\ntmux -S \"$SOCKET\" kill-session -t \"$SESSION\"\n```\n\n## Guardrails\n\n- Never paste secrets into logs, chat, or code.\n- Prefer `op run` / `op inject` over writing secrets to disk.\n- If sign-in without app integration is needed, use `op account add`.\n- If a command returns \"account is not signed in\", re-run `op signin` inside tmux and authorize in the app.\n- Do not run `op` outside tmux; stop and ask if tmux is unavailable.\n","tags":{"latest":"1.0.1"},"stats":{"comments":3,"downloads":31371,"installsAllTime":1280,"installsCurrent":1276,"stars":52,"versions":2},"createdAt":1767667627516,"updatedAt":1778485729679},"latestVersion":{"version":"1.0.1","createdAt":1767814883922,"changelog":"Require tmux session for op auth","license":null},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"steipete","userId":"s179zksw999xz8ms4cy7pb2fr183m5jq","displayName":"Peter Steinberger","image":"https://avatars.githubusercontent.com/u/58493?v=4"},"moderation":null}