How Is Bunch.app Different from AppleScript for Mac Automation?

Updated

Bunch.app is a macOS automation tool that uses a folder of plain text files, each containing a list of apps and commands, and presents them as a menu for one-click or keystroke-triggered "context switches." Compared with AppleScript, Bunch trades a full scripting language for a simpler, line-by-line format aimed at launching apps, changing system settings, and running scripts. It suits people who want to switch work environments quickly without writing complex scripts; AppleScript remains the better fit when you need deep, programmatic control over individual apps.

The core difference: a task list versus a scripting language

AppleScript is a general-purpose automation language with variables, handlers, conditionals, and app-specific dictionaries. Bunch is not a language in that sense. A Bunch is just a plain text file, and each line tells Bunch to perform a task, such as launching an app or changing a system setting. The site describes it as "like AppleScript but way easier."

That distinction shapes everything else:

Dimension Bunch.app AppleScript
Authoring format Plain text file, one task per line Scripting language with syntax and app dictionaries
Learning curve Intuitive syntax, easy to get started Steeper; requires learning language and app-specific terms
Primary unit A "Bunch" — a named context of apps and settings A script or script file
Triggering Menu of all Bunches in the Bunch Folder; switch with a couple of keystrokes Run from Script Editor, menu bar, or other hosts
Typical tasks Launch apps, load files, open websites, change settings, run scripts Anything an app exposes, including complex logic
Best for Quickly switching between work modes Deep, conditional, app-specific automation

What a Bunch file looks like

The site's example shows how terse the format is. A line can combine an app with parameters and a system state:

Audio Hijack (audio input Scarlett Solo) (do not disturb)

Each line is a task. The Bunch Folder holds all your Bunches — for example Comms.bunch, Code.bunch, and Documentation.bunch — and they become a menu ready to automate context switches. There is no need to declare variables or look up an app's scripting dictionary to get started.

Where Bunch fits better than AppleScript

Bunch is built around "contexts" — different modes of work and play that you switch between with a couple of keystrokes. The site's examples show the pattern:

  • Screencast prep: a Bunch hides the Dock, changes the wallpaper, hides Desktop icons, hides all open windows, and loads your screen recording app. When it closes, it can quit apps, restore the wallpaper, unhide the Dock, and show Desktop icons again.
  • Podcasting: open recording software, start a show-notes document, set audio inputs and outputs, and pause backups to save bandwidth — then put everything back when done.
  • Coding project switches: close all Finder windows, open the project folder, open iTerm to the project directory and run git pull, open the project in your editor or IDE, and even start a time-tracker timer.
  • Scheduled silence: a scheduled Bunch closes Twitter and other social apps during set times, and toggling the Bunch launches them again.

These are exactly the tasks where writing AppleScript would mean assembling many separate commands and app-specific syntax. In Bunch, each becomes a line or two in a text file.

Where AppleScript still wins

Bunch's simplicity is also its limit. Because a Bunch is a list of tasks rather than a programming language, anything requiring branching logic, loops, or fine-grained control over an app's internal objects is better handled in AppleScript — or in a script that Bunch runs. Bunch does support running scripts as one of its task types, so the two can coexist: use Bunch as the menu and context manager, and call AppleScript (or shell scripts) for the steps that need real logic.

How to decide

Choose Bunch if your automation is mostly "set up my environment": launching a set of apps, opening files and websites, changing system settings, and switching between named contexts from a menu. Choose AppleScript if you need conditional logic, app-specific object manipulation, or automation embedded inside another app's workflow. If you need both, start with Bunch for the context switch and delegate complex steps to scripts it runs.

Bunch is described on its site as free, with no special discounts offered to visitors.