Skip to content

Releases

Stackbar 0.35.1

Choose a tag to compare

@github-actions github-actions released this 08 Nov 14:34
1c5d286

Fixed

  • Opening a command's view from the palette puts the cursor in its search field, so the arrow keys move through the list at once instead of after pressing Tab.
  • In the palette, a view with nothing to show ("No tabs open") puts its message in the middle, and a view called "Search …" no longer has a search field that says "Search Search …".
  • For plugin authors: stackbarctl render and demo frames (--frames) show a held action as "Press again to …", as the app draws it, so a demo of a destructive action shows the question.

Install

Signed with Developer ID and notarized. Install with Homebrew or the one-line installer (both also put stackbarctl on your PATH):

brew install --cask navbytes/tap/stackbar
curl -fsSL https://stackbar.app/install.sh | bash

Or unzip, drag Stackbar.app into /Applications and open it.

Requires macOS 26. Store plugins come prebuilt, so Xcode is not needed to use them. To write your own plugins, install Xcode 26 or the Command Line Tools (xcode-select --install).

The command-line tool is inside the app: ln -sf /Applications/Stackbar.app/Contents/MacOS/stackbarctl ~/.local/bin/stackbarctl, then stackbarctl doctor.

Built from 1c5d286.

Stackbar 0.35.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 12:53
3be3a29

Added

  • Stackbar asks before a plugin does something you can't undo. Stopping a process, removing containers or clearing history now takes a second press: the first one changes the button or row to "Press again to …", shows it on screen and tells VoiceOver, and does nothing else. After 10 seconds, or if what it would do changes (three containers become four), it goes back to normal. In the palette Return twice runs it and Esc forgets it. A widget button that would ask opens the plugin's panel instead. Every plugin now asks the same way, where before each one did it a little differently.
  • For plugin authors: confirm: on Row.action, Button, ActionButton and IconButton (confirm: "stop web (pid 412)"), protocol 25. On older Stackbar versions the kit asks itself. stackbarctl soak --press never presses these, and stackbarctl render --event holds the first press as the app does (--confirm sends at once).

Fixed

  • Installing the command-line tool no longer freezes Stackbar. While the password prompt was up, the menu bar, palette and every window stopped responding. Settings now waits for the prompt without holding up the rest of the app.

Install

Signed with Developer ID and notarized. Install with Homebrew or the one-line installer (both also put stackbarctl on your PATH):

brew install --cask navbytes/tap/stackbar
curl -fsSL https://stackbar.app/install.sh | bash

Or unzip, drag Stackbar.app into /Applications and open it.

Requires macOS 26. Store plugins come prebuilt, so Xcode is not needed to use them. To write your own plugins, install Xcode 26 or the Command Line Tools (xcode-select --install).

The command-line tool is inside the app: ln -sf /Applications/Stackbar.app/Contents/MacOS/stackbarctl ~/.local/bin/stackbarctl, then stackbarctl doctor.

Built from 3be3a29.

Stackbar 0.34.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 11:11
989f16c

Added

  • Plugins can ask for a folder, and only that folder. A plugin can show an Open panel for a folder, and the folder you pick is the one its commands may run in. Each plugin's Settings page lists the folders you chose, with Remove. The upcoming Git Sync plugin uses this for your code folders. For plugin authors: Stackbar.chooseFolder() and Stackbar.grantedFolders(), protocol 24.
  • Commands can use your SSH agent. A plugin with the new SSH agent permission gets SSH_AUTH_SOCK, so git fetch over SSH works with the macOS agent, 1Password or Secretive. For plugin authors: .sshAgent.

Install

Signed with Developer ID and notarized. Install with Homebrew or the one-line installer (both also put stackbarctl on your PATH):

brew install --cask navbytes/tap/stackbar
curl -fsSL https://stackbar.app/install.sh | bash

Or unzip, drag Stackbar.app into /Applications and open it.

Requires macOS 26. Store plugins come prebuilt, so Xcode is not needed to use them. To write your own plugins, install Xcode 26 or the Command Line Tools (xcode-select --install).

The command-line tool is inside the app: ln -sf /Applications/Stackbar.app/Contents/MacOS/stackbarctl ~/.local/bin/stackbarctl, then stackbarctl doctor.

Built from 989f16c.

Stackbar 0.33.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 06:02
b5690a8

Fixed

  • For plugin authors: Stackbar.open(url) now opens the links and files a plugin declares in .openURLs, as Stackbar.open(url, with:) already did. Before, it opened only https, http, mailto, tel and meeting links, so a System Settings pane from installedApps() did nothing, although the guide said to open it this way.
  • For plugin authors: stackbarctl render, run, soak and the other commands that run a plugin keep its saved values in a scratch folder, so trying a plugin no longer overwrites what the app saved. --real-storage uses the app's, and STACKBAR_HOME still moves everything.
  • For plugin authors: stackbarctl soak --press no longer presses buttons that upgrade, update, install, stop, kill, prune, force, approve, merge, send or publish. One run on a real Mac started Homebrew's Upgrade All.

Install

Signed with Developer ID and notarized. Install with Homebrew or the one-line installer (both also put stackbarctl on your PATH):

brew install --cask navbytes/tap/stackbar
curl -fsSL https://stackbar.app/install.sh | bash

Or unzip, drag Stackbar.app into /Applications and open it.

Requires macOS 26. Store plugins come prebuilt, so Xcode is not needed to use them. To write your own plugins, install Xcode 26 or the Command Line Tools (xcode-select --install).

The command-line tool is inside the app: ln -sf /Applications/Stackbar.app/Contents/MacOS/stackbarctl ~/.local/bin/stackbarctl, then stackbarctl doctor.

Built from b5690a8.

Stackbar 0.32.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 04:35
f6c33c4

Fixed

  • Safari shows up in Applications search. Safari and a few other Apple apps live in a part of the system the app scan didn't look in; /Applications only holds a link to them. Any browser macOS knows about is now listed too.
  • Applications finds every app Spotlight knows, not just the ones in a few folders: Finder, Screen Sharing and the other system apps, Xcode's Simulator and Instruments, apps nested in subfolders and apps on other drives. Helpers inside other apps, updaters and backups stay out.
  • The palette finds apps, files and sums on a new Mac's first search. Applications, Calculator and File Search come with Stackbar and are now approved as they are installed, instead of waiting for an approval in Settings that most people never found. Their page in Settings still lists what they can do.
  • File Search finds iCloud Drive, Dropbox, OneDrive and Google Drive files. They live in your Library folder, which File Search skipped. Their folders read as "iCloud Drive/…" and "Dropbox/…".
  • Window snaps no longer run out. A plugin could move windows only 10 times a minute, so a busy morning of ⌃⌥← and ⌃⌥→ stopped working. It is now 120 a minute, and a snap reads only the windows of the app it moves.

Added

  • Allow a plugin right from the palette. Running a command of a plugin that waits for your approval now shows what it asks for in the palette: press Return to allow it and the command carries on, or Esc to go back. A hotkey or link for such a command opens the palette to ask. Before, the command failed and you had to find the plugin in Settings.
  • Hotkeys can use the arrows, Return, Tab, Escape, Delete and punctuation keys, so a Rectangle-style keymap such as ⌃⌥← for the left half works. ⌘Tab stays the app switcher's. For plugin authors: manifest hotkeys accept these keys from 0.32.0.
  • Plugins can show a clock that keeps time on its own. A plugin's menu bar can now show the time of day the way the macOS clock does, ticking on the minute (or the second) without waiting for the plugin, and keeping one width so the bar doesn't shift. World Clock uses it. For plugin authors: Clock("EEE d MMM HH:mm", timeZone:), protocol 23.
  • Sliders can follow your finger. A plugin can ask for a slider that updates while you drag it rather than when you let go, so World Clock's time-travel slider moves every clock as you scrub. For plugin authors: Slider(..., live: true).
  • New docs: a Permissions page listing what macOS asks for and why, a Hyper key section (Karabiner-Elements works with every Stackbar hotkey), and "Coming from Spotlight" in Getting started.

Changed

  • Agent tools are off on a new Mac until you turn them on in Settings › Agents. A Mac that already ran Stackbar keeps its setting.

Install

Signed with Developer ID and notarized. Install with Homebrew or the one-line installer (both also put stackbarctl on your PATH):

brew install --cask navbytes/tap/stackbar
curl -fsSL https://stackbar.app/install.sh | bash

Or unzip, drag Stackbar.app into /Applications and open it.

Requires macOS 26. Store plugins come prebuilt, so Xcode is not needed to use them. To write your own plugins, install Xcode 26 or the Command Line Tools (xcode-select --install).

The command-line tool is inside the app: ln -sf /Applications/Stackbar.app/Contents/MacOS/stackbarctl ~/.local/bin/stackbarctl, then stackbarctl doctor.

Built from f6c33c4.

Stackbar 0.31.0

Choose a tag to compare

@github-actions github-actions released this 07 Nov 09:46
28f399e

Fixed

  • Clipboard history no longer floods the palette. Copies (and their Copy, Pin and Delete actions) showed in the palette's results even with Clipboard's "Show matching copies in the palette's results" off, because the palette also lists what a plugin's panel can do. A plugin can now keep rows of its own data out of the palette; Clipboard 1.10.0 does.
  • For plugin authors: Row(...).hiddenFromPalette() keeps a row out of the palette's own results while it still shows and acts in your panel (protocol 22).

Install

Signed with Developer ID and notarized. Install with Homebrew or the one-line installer (both also put stackbarctl on your PATH):

brew install --cask navbytes/tap/stackbar
curl -fsSL https://stackbar.app/install.sh | bash

Or unzip, drag Stackbar.app into /Applications and open it.

Requires macOS 26. Store plugins come prebuilt, so Xcode is not needed to use them. To write your own plugins, install Xcode 26 or the Command Line Tools (xcode-select --install).

The command-line tool is inside the app: ln -sf /Applications/Stackbar.app/Contents/MacOS/stackbarctl ~/.local/bin/stackbarctl, then stackbarctl doctor.

Built from 28f399e.

Stackbar 0.30.0

Choose a tag to compare

@github-actions github-actions released this 07 Nov 09:17
3b76ad6

Fixed

  • A plugin dragged out of the menu bar can come back. ⌘-dragging an item off the menu bar hid it for good: macOS remembered it, so turning "Show in menu bar" back on in Settings, or a plugin like Clipboard turning its own icon on, made an item you couldn't see. Dragging one out now turns "Show in menu bar" off for that plugin, and turning it on brings the item back.
  • Typing in the palette does less work per key. The palette no longer re-filters and re-ranks every row several times for each keystroke, and its saved picks and usage are written in the background.
  • Copying a big screenshot no longer stutters. Clipboard images are decoded, converted and saved off the main thread, and old ones are cleaned up gradually.
  • A slow or frozen app can't freeze Stackbar. Menu search, window lists, the plugin context read and the cycle-windows key now talk to other apps in the background with a time limit. The cycle-windows key no longer does that work while it holds the keyboard.
  • Stackbar can no longer crash from a bad paste or sign-in request. A plugin pasting with a negative cursor offset, or a malformed request to the sign-in page, used to quit the app.
  • A network blip while refreshing a sign-in no longer opens your browser. Stackbar only asks you to sign in again when the service says the sign-in is no longer valid.
  • Plugins save less often and read faster. Saved values are written about a second after a plugin's last change, as one write, and are read from memory. Nothing is lost on quit.
  • A plugin waiting on an answer that never comes recovers. Host calls now give up after a time limit instead of freezing the plugin.
  • A plugin whose view has an invalid number still updates. The number is shown as 0 instead of the whole update being dropped.
  • Large downloads stop at the size limit instead of being read in full first.
  • Desktop widgets refresh more gently. Repeated identical updates are dropped, and widgets reload at most every five seconds.
  • Global shortcuts that macOS refuses now say so in Settings instead of looking active, and the shortcut conflict check uses your palette shortcut rather than the default.
  • Fewer wakeups at idle: one shared clipboard check for all plugins, and a plugin only scans its child processes when it has some.
  • Removing a plugin whose files can't all be moved to the Trash keeps it listed so you can try again. Settings import and export include plugins' latest saved values.
  • A pasted item that asked to restore the clipboard no longer replaces your clipboard when Stackbar lacks Accessibility access.
  • If an edited plugin fails to build, its previous copy stops instead of carrying on behind the error.

Install

Signed with Developer ID and notarized. Install with Homebrew or the one-line installer (both also put stackbarctl on your PATH):

brew install --cask navbytes/tap/stackbar
curl -fsSL https://stackbar.app/install.sh | bash

Or unzip, drag Stackbar.app into /Applications and open it.

Requires macOS 26. Store plugins come prebuilt, so Xcode is not needed to use them. To write your own plugins, install Xcode 26 or the Command Line Tools (xcode-select --install).

The command-line tool is inside the app: ln -sf /Applications/Stackbar.app/Contents/MacOS/stackbarctl ~/.local/bin/stackbarctl, then stackbarctl doctor.

Built from 3b76ad6.

Stackbar 0.29.0

Choose a tag to compare

@github-actions github-actions released this 07 Nov 04:56
2b2ad31

Fixed

  • Removing a plugin removes all of it, from anywhere. Removing a plugin from the Store window, or when its publisher withdraws it, now also clears what you approved it to do, as removing it in Settings already did. Install it again and Stackbar asks again. Deleting its data from the Store window now signs it out too.
  • The palette keeps what it learned when a plugin is replaced. When one plugin takes over from another (like Windows from Window Layouts), what you taught the palette by picking its results now moves over with your shortcuts and pins, including rows its searches show.
  • Clear Search History takes effect at once. A palette reopened within a minute of clearing it in Settings no longer shows the old order.
  • Stackbar links open in Stackbar. A stackbar:// link from the palette or a plugin is now handled by the running app directly. Before, it went out through macOS, which could hand it to another copy of Stackbar, such as an old build. Command links still ask before running a command, as before.
  • A plugin installed or updated from the Store is checked once it is built: if its code asks for different permissions than its publisher signed for, the install is undone.
  • For plugin authors: the authoring guide (stackbarctl docs, llms.txt) now lists every rate limit a plugin can run into, including the ones calls share: switching, hiding and focusing apps and pressing menu items share 120 a minute.
  • For plugin authors: stackbarctl render --event and the authoring MCP tools now treat a command view the way the palette does. They say when a submitted form finished (where the palette closes), reopen the view with what was typed after a plugin restarts, and say when the plugin stopped instead of waiting.

Install

Signed with Developer ID and notarized. Install with Homebrew or the one-line installer (both also put stackbarctl on your PATH):

brew install --cask navbytes/tap/stackbar
curl -fsSL https://stackbar.app/install.sh | bash

Or unzip, drag Stackbar.app into /Applications and open it.

Requires macOS 26. Store plugins come prebuilt, so Xcode is not needed to use them. To write your own plugins, install Xcode 26 or the Command Line Tools (xcode-select --install).

The command-line tool is inside the app: ln -sf /Applications/Stackbar.app/Contents/MacOS/stackbarctl ~/.local/bin/stackbarctl, then stackbarctl doctor.

Built from 2b2ad31.

Stackbar 0.28.0

Choose a tag to compare

@github-actions github-actions released this 07 Nov 01:18
b7db5d8

Fixed

  • Commands start the same way from everywhere. A hotkey, typed keyword, link, Spotlight, Shortcuts and a notification button now follow one rule: a command runs once it has what it needs, and otherwise opens in the palette. Picking a command in the palette still shows its optional fields first. Text you type after a command that shows a list now goes into its search from Spotlight too, as it does in the palette, and a link can no longer run a command you switched off in Settings.
  • The Store names every permission correctly. A plugin page showed "Opening Links" for a plugin that opens Terminal, and left Sensors, Menus, Screen Text, System Actions, Text Expansion and Adding Calendar Events out of "Asks For". Each permission now shows its own kind.
  • Shortcuts read the same everywhere. Keycaps in ⌘K, Settings and the menu now draw modifiers in the Mac's own order (⇧⌘K). For plugin authors: a shortcut can also be written with symbols (⌘⇧K), and stackbarctl render points out a row action shortcut it can't read, like cmd+shft+k, which never fired.
  • ⌘K shortcuts work on the palette's first screen. A shortcut listed in ⌘K for a row on the root list, like a plugin result's, now runs straight from the list without opening ⌘K first.

Install

Signed with Developer ID and notarized. Install with Homebrew or the one-line installer (both also put stackbarctl on your PATH):

brew install --cask navbytes/tap/stackbar
curl -fsSL https://stackbar.app/install.sh | bash

Or unzip, drag Stackbar.app into /Applications and open it.

Requires macOS 26. Store plugins come prebuilt, so Xcode is not needed to use them. To write your own plugins, install Xcode 26 or the Command Line Tools (xcode-select --install).

The command-line tool is inside the app: ln -sf /Applications/Stackbar.app/Contents/MacOS/stackbarctl ~/.local/bin/stackbarctl, then stackbarctl doctor.

Built from b7db5d8.

Stackbar 0.27.1

Choose a tag to compare

@github-actions github-actions released this 06 Nov 15:26
90df737

New

  • Optional crash reports. Stackbar can now send a report to its developer when it crashes, so crashes get fixed faster. It's off until you turn it on, in the Welcome window or Settings › Privacy & Secrets. A report has where Stackbar crashed, its version, the macOS version and the Mac model, never plugin names, logs, files or your computer's name.

Fixed

  • Palette answers keep up with your typing. A plugin's answer in the palette, like Calculator's, sometimes showed the result for the text before your last keystroke: (54*8)+33 showed the answer to (54*8)+3. The palette now redraws whenever a plugin's answer changes.
  • The Welcome window shows in full, once. It opened as a clipped strip and came back on every launch. It now shows the whole starter list and stays closed once you close it.

Install

Signed with Developer ID and notarized. Install with Homebrew or the one-line installer (both also put stackbarctl on your PATH):

brew install --cask navbytes/tap/stackbar
curl -fsSL https://stackbar.app/install.sh | bash

Or unzip, drag Stackbar.app into /Applications and open it.

Requires macOS 26. Store plugins come prebuilt, so Xcode is not needed to use them. To write your own plugins, install Xcode 26 or the Command Line Tools (xcode-select --install).

The command-line tool is inside the app: ln -sf /Applications/Stackbar.app/Contents/MacOS/stackbarctl ~/.local/bin/stackbarctl, then stackbarctl doctor.

Built from 90df737.