Forum Discussion

subsonic_rumble's avatar
subsonic_rumble
New Contributor
29 days ago

1password-cli op command causes "would like to access data from other apps." warning

See also https://github.com/1Password/shell-plugins/issues/586, . 

I am receiving pop up "would like to access data from other apps" warnings when using the op command.  This may have appeared with the latest 1password-cli update (installed with Homebrew).

Not all apps trigger this, for example Emacs does not cause a warning when starting a subshell. 

Anyone else seeing this?

5 Replies

  • Encountered exactly that: 

    • I have this problem with Claude Desktop on MacOS.
    • It's caused by oh-my-zsh 1password plugin

     

    I modified gege_ahlin​ solution slightly:

    # if using Claude Desktop (non interactive shell), early escape
    if [[ ! -t 1 ]] then
        echo "Requires an interactive terminal."
        exit 1
    fi

    Another variant where I only load plugins if the shell is interactive:

    # only load plugins if interactive shell
    if [[ -t 1 ]] then
        plugins=(1password)
        source $ZSH/oh-my-zsh.sh
    fi

    This seems to work well for now, I will modify it if I notice problems.

  • Nice to know it isn't only happening to me :)

    It seems a bit all over the map. 2 weeks ago it would warn on every new iTerm tab or window and never on Terminal. Now it warns on both iTerm and Terminal, but only on the first tab / window (I know the .zshrc is sourced on each new tab / window).  It warns on VS Code, but not on Emacs (which also sources .zshrc when you start a sub-shell).

    Did you check whether Terminal or Ghostly has Full Disk Access (System Settings > Privacy and Security > Full Disk Access)?

    • aoberoi's avatar
      aoberoi
      New Contributor

      In my case, Ghostty and Terminal do have Full Disk Access. However, I wouldn't want to give Full Disk Access to Claude Desktop. I think I will use the conditional loading trick that gege_ahlin​ mentioned below.

  • aoberoi's avatar
    aoberoi
    New Contributor

    EDIT: Confirmed that commenting out the shell completion line in my `.zshrc` results in no longer seeing this dialog when launching Claude Desktop. This narrows down the issue to a question of how we can make sure this permission is remembered when the shell completion loading line is run even from an "ephemeral" terminal? Other utilities don't seem to have this problem, so I'm hoping there is a way.

    I'm also seeing this, in particular when I launch Claude Desktop. My hunch is that the Cowork part of Claude Desktop is launching a shell, which loads my `.zshrc`, which contains the following line to load completions: `eval "$(op completion zsh)"; compdef _op op`, and somehow this triggers the macOS permission dialog. 

    This does not seem to happen when I launch Ghostty.app or Terminal.app. Or, maybe it did at some point in the past, but the choice to Allow was remembered?

    • gege_ahlin's avatar
      gege_ahlin
      New Contributor

      Had the same issue. Adding a check if stdout is connected to the session solved it.
      My .zshrc now does it like this:

      if [[ -t 1 ]] && command -v op &>/dev/null; then
        eval "$(op completion zsh)"
        compdef _op op
      fi

      And now the stupidly annoying dialog that opens when launching Claude Desktop is no more...