Skip to content
ExtraBar Docs
← Back to site

Scripts#

The Run Script action lets you execute scripts directly from your menu bar. Write a quick shell command, run a Python script, or automate with AppleScript — all triggered with a click or keyboard shortcut.

Adding a script action#

  1. Open ExtraBar and click Manage on a preset
  2. Click the app settings icon (⚙) on any item
  3. Click + AddRun Script
  4. Configure the script settings

Script source#

You can provide a script in two ways:

  • File — Point to a script file on disk. Use the Browse button to select the file, or type the path manually. ExtraBar detects the language from the file extension automatically.
  • Inline — Write the script directly in ExtraBar's built-in editor. The editor includes syntax highlighting for all supported languages.

You can also load a file's contents into the inline editor using the Load from File button.

Supported languages#

AppleScript and shell scripts are always available. Other languages are detected automatically — if the interpreter is installed on your Mac, it shows up as an option.

  • AppleScript.applescript, .scpt
  • Shell Script (zsh/bash) — .sh, .zsh, .bash
  • Python.py
  • Node.js.js, .mjs, .cjs
  • Ruby.rb
  • PHP.php
  • Perl.pl, .pm
  • Lua.lua

ExtraBar checks standard paths including /usr/bin, /opt/homebrew/bin, and /usr/local/bin for interpreters.

Arguments#

Add command-line arguments to pass to your script. Each argument is a separate entry — use the arguments editor to add, remove, or reorder them.

Shell environment#

Control how the shell environment is set up when your script runs. This matters when your script depends on tools installed via Homebrew or custom PATH entries.

  • Default environment — No shell profile loading. The script runs with a minimal environment.
  • zsh (load profile) — Loads .zprofile and .zlogin. Use this when your script needs Homebrew or other PATH additions.
  • zsh (interactive) — Loads .zshrc. Use this when your script needs aliases or functions from your shell config.
  • bash (load profile) — Loads .bash_profile or .profile.

Output window#

When Show output window is enabled (on by default), ExtraBar opens a floating panel that shows live script output as it runs. The window displays:

  • Script name and language
  • Streaming stdout and stderr output (errors highlighted)
  • Exit code when the script finishes
  • Auto-closes after 10 seconds on completion (click to keep it open)