No more plaintext credentials in your home directory. Automatically authenticate every CLI you use with 1Password CLI + Shell Plugins. Approve temporary credential usage in your terminal with biometrics.

🔩 Don’t see yours? Contribute! [BETA]
Is your favorite CLI not listed yet? Learn how to build a new plugin yourself and then open a PR on this repository to get it included in the 1Password CLI!
For the contribution guidelines, see CONTRIBUTING.md.
Quick start: clone or fork this repo and run
make new-pluginStill not sure where or how to begin? We're happy to help! You can:
- Book a free pairing session with one of our developers
- Join the Developer Slack workspace, and ask us any questions there
By default, op plugin init writes its configuration to ~/.config/op/plugins.sh
and manages that file for you. If you'd rather keep your plugin configuration in
your own dotfiles (for example, tracked in version control), you can define the
shell functions yourself and source them in your shell's configuration file.
Shell functions for each shell should follow this pattern. In this case,
gh() {
op plugin run -- gh "$@"
}function gh --wraps gh --description "1Password shell plugin for GitHub CLI"
op plugin run -- gh $argv
endSet OP_PLUGIN_ALIASES_SOURCED=1 so 1Password CLI knows the shell plugins have
already been set up:
export OP_PLUGIN_ALIASES_SOURCED="1"set -x OP_PLUGIN_ALIASES_SOURCED 1Note:
op plugin init <plugin>edits~/.config/op/plugins.shdirectly and won't update your own dotfiles, so configure plugins manually as shown above.
- File an issue for bugs and feature requests
- Join the Developer Slack workspace
- Subscribe to the Developer Newsletter
