Skip to content
Alexander Beck edited this page May 14, 2026 · 1 revision

BarKeeper Q&A

Frequently asked questions and common pitfalls when using BarKeeper.


My script works in Terminal but fails or behaves differently in BarKeeper. Why?

macOS GUI apps like BarKeeper don't always inherit the same PATH as your terminal session. Even though BarKeeper runs scripts as a login shell ($SHELL -l -c "..."), tools installed in user-specific directories (e.g. ~/.local/bin) may not be found.

Additionally, commands with complex quoting — such as paths containing spaces or nested quotes — can behave differently when passed through the -c flag compared to typing them directly in a terminal.

Recommended fix: Wrap your command in a standalone shell script, place it in a directory on your system PATH, and reference the full absolute path in BarKeeper.

Example: Opening Microsoft Edge with a specific profile

Running this directly in BarKeeper's action script field can fail due to quoting issues:

"/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge" --profile-directory="Profile 3" "https://app.fabric.microsoft.com"

Instead, create a shell script:

# 1. Create the script
cat << 'EOF' > ~/.local/bin/open-fabric
#!/bin/zsh
"/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge" \
  --profile-directory="Profile 3" \
  "https://app.fabric.microsoft.com"
EOF
chmod +x ~/.local/bin/open-fabric

Then use the full absolute path in BarKeeper's action script field:

/Users/yourname/.local/bin/open-fabric

Tip: Always use the full absolute path (e.g. /Users/yourname/.local/bin/open-fabric) in BarKeeper, not just the script name — the app's PATH may differ from your terminal's.