Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is Bunch.app?
Bunch.app is a macOS automation tool that works from plain text files. Each file, called a "Bunch," contains a list of apps to launch and commands to run, and Bunch turns the folder of these files into a menu you can trigger with a few keystrokes. Its syntax is designed to be simpler than AppleScript, so a line like launching an app or changing a system setting is just written as text.
The practical idea is "context switching." You build a Bunch for each mode of work and play, and switch between them instead of rearranging windows and settings by hand. The site's own examples show the range:
- Screencasting: hide the Dock and Desktop icons, change the wallpaper, hide open windows, and load the recording app; reverse it all when the Bunch closes.
- Podcasting: open recording software and show notes, set audio inputs and outputs, and pause backups to save bandwidth.
- Coding: close Finder windows, open the project folder, start iTerm in the project directory and run
git pull, then open the IDE. - Scheduling: a timed Bunch that closes social apps during set hours and relaunches them when you toggle it back.
It suits Mac users who repeat the same setup routine several times a day and are comfortable editing a text file, more than people who want a purely graphical automation builder. The trade-off is that its power depends on learning the syntax and on macOS-specific commands; it is not a cross-platform tool.
To decide whether it fits, write down the five apps and settings you open every time you start a particular kind of work. If that list is stable, it is a good candidate for your first Bunch file.
How do I create and run my first Bunch file to switch between work contexts?
Create a plain-text file with a .bunch extension, put it in your Bunch Folder, and give it a name that reflects the work mode—for example Focus.bunch. Each line is one instruction, such as an app name, a file or website to open, or a system setting to change. Bunch turns the files in that folder into a menu, so running a Bunch means choosing it from that menu (or triggering it with a keystroke, as the site describes). The page shows a simple example where lines like Audio Hijack, (audio input Scarlett Solo) and (do not disturb) are combined in one file.
A practical first pair
Start with two small Bunches that mirror each other, so switching back is as easy as switching in:
Focus.bunch: open your editor or IDE, open your project folder, and enable Do Not Disturb.Comms.bunch: open your chat and email apps, and turn Do Not Disturb off.
Keep each file to a handful of lines at first. Once the menu entry appears and behaves as expected, add the reversible steps—Bunch's own examples describe closing apps, restoring wallpaper, or unhiding the Dock when a Bunch is toggled off.
What to check before adding more
Confirm the exact syntax for settings and options on Bunch.app, since parenthetical modifiers and command lines need to match what Bunch expects. Then test one Bunch at a time: launch it, note which apps and settings changed, and toggle it off to see what is restored. That gives you a reliable base before building larger context switches for recording, podcasting or coding.
Can Bunch automate system settings like hiding the Dock or changing wallpaper for screencasts?
Yes. Bunch’s own documentation describes exactly this use: a screencast Bunch can hide the Dock, change the wallpaper, hide Desktop icons, hide open windows, and load your screen-recording app, then reverse those changes when it closes. The same page notes that a Bunch is a plain text file whose lines launch apps or change system settings, so Dock hiding and wallpaper changes are within its intended scope rather than a workaround.
A practical way to structure it
Think of it as two halves: a “recording” state and a “restore” state. Put the disruptive changes (Dock hidden, wallpaper swapped, Desktop icons hidden) in the setup half, and the reversals in the closing half so a finished session doesn’t leave your Mac in presentation mode.
- Setup: hide Dock, set wallpaper, hide Desktop icons, hide open windows, launch the recorder.
- Teardown: quit the recorder, restore wallpaper, unhide Dock, show Desktop icons.
Decision criteria
If you record screencasts occasionally, a single Bunch you trigger from the menu is enough, and the toggle-style behavior the page describes for other contexts applies here too. If you record on a schedule or across several machines, keep the Bunch in the shared Bunch Folder so the same plain-text definition travels with you.
For anyone weighing alternatives, macOS Shortcuts can also change some system settings but is more click-driven to edit, whereas Bunch’s plain-text files are easier to version and read. The official Apple documentation covers Shortcuts if you want to compare, and Bunch.app itself has the example screencast Bunch to copy from.
How does Bunch compare to AppleScript for automating macOS tasks?
Bunch is easier for assembling a repeatable "workspace" than AppleScript, but it is not a general-purpose replacement for AppleScript as a scripting language. Bunch takes a folder of plain text files, each line naming an app or command, and turns them into a menu you trigger to launch apps, load files, open websites and change system settings—so a context switch becomes a couple of keystrokes rather than a script you write and maintain.
AppleScript is a full automation language: you write logic, loops and conditionals, and drive scriptable apps through their dictionaries. That makes it the better choice when the task needs decisions, error handling, or deep control of one application's internals. Bunch's own framing is "like AppleScript but way easier," which is accurate for the common case of starting and stopping a set of things in order.
| Dimension | Bunch | AppleScript |
|---|---|---|
| What you write | Plain-text lines listing apps and commands | A script in a programming language |
| Learning curve | Low; readable syntax | Higher; app dictionaries and syntax to learn |
| Best at | Context switching: launch apps, load files, open sites, change settings | Conditional logic, loops, precise app control |
| Typical trigger | A menu built from your Bunch folder | Script menu, app, or another tool calling it |
| Trade-off | Less expressive for complex branching | More setup and maintenance per task |
Concrete uses from the page show the split clearly. A screencast Bunch might hide the Dock, change the wallpaper, hide Desktop icons and open the recording app, then reverse those changes when it closes. A podcast Bunch opens recording software, starts show notes, sets audio inputs and outputs, and pauses backups—then restores them. A coding Bunch closes Finder windows, opens the project folder, runs iTerm in the project directory with a git pull, and opens the IDE. These are sequences of discrete actions; if one step needed to branch on a condition, that is where AppleScript earns its keep.
A practical next step: list the apps and settings you touch when switching between two modes of work. If it is a fixed sequence, write it as a Bunch and trigger it from the menu. If a step must inspect something and decide what to do next, keep that step in AppleScript and let the Bunch handle the surrounding launch-and-restore work. For more on the tool itself, see Bunch.app.
Can I schedule Bunches to run automatically at specific times?
Yes. Bunch supports scheduled Bunches that run at set times, and you can also toggle one on and off manually when you want that context back.
How this fits real use
The page's own example is silencing social media during set times: a scheduled Bunch closes Twitter and other social apps, and you relaunch them by toggling the Bunch when you're ready. The same pattern suits other recurring contexts — a "Deep Work" Bunch that opens your editor and a focus playlist at 9 a.m., or an "End of Day" Bunch that quits work apps and reopens your personal ones.
Two practical distinctions to keep in mind:
- Scheduled vs. on-demand. Scheduling is best for recurring boundaries (work hours, quiet periods). Toggling is better for ad hoc switches, like jumping into a podcast recording session.
- Reversal matters. Since a Bunch changes apps and system settings, plan what should happen when it ends or is toggled off. The screencast example on the page shows this: quitting apps, restoring the wallpaper, and unhiding the Dock and Desktop icons on close.
Next step
Start with one narrow, reversible Bunch — for example, hide distracting apps at a fixed time and restore them when toggled off — then add scheduling once the manual version behaves as expected. If you want to compare approaches, Bunch.app documents its scheduling and examples directly.
How do I set up Bunch to prepare my podcast recording environment with audio inputs and backups?
Bunch handles this by treating your podcast setup as a plain-text "Bunch" file: one line per action, triggered from a menu with a couple of keystrokes. For a recording context, that means a single Bunch that opens your recording software, starts a show-notes document, sets your audio inputs and outputs, and pauses backups to save bandwidth—then restores everything when you close it. Bunch's own examples describe exactly this podcast workflow, including pausing backups during the session and putting things back afterward.
What to put in the Bunch
Build the file around three phases, since Bunch runs lines top to bottom:
- Open your workspace — recording software, a new or existing show-notes document, and any chat or reference apps you want visible.
- Set the audio environment — point inputs and outputs at your interface. Bunch's syntax lets you attach parameters to an app line, as in its
Audio Hijack (audio input Scarlett Solo)example, and it can change system settings directly. - Quiet the machine — pause backups and enable Do Not Disturb so notifications and bandwidth don't intrude.
For teardown, Bunch supports closing actions that quit apps and revert settings, the same pattern its screencast example uses to restore the wallpaper and Dock.
A practical starting point
Write the file in the Bunch Folder, name it something like Podcast.bunch, and test it before a real session:
- Run it once with nothing recording and watch each step happen, so you can see which line fails if an app is slow to launch.
- Keep the audio-setting lines near the top so your interface is ready before the recorder opens.
- Add a comment line above each group so the file stays readable months later.
- If your backup tool has no direct command, Bunch's script-running capability can call its CLI or a shell command instead.
Trade-offs to weigh
Plain text is easy to edit and version, but it is also literal: a renamed app or a changed audio device name will silently skip or misdirect a step, so re-test after macOS or app updates. Pausing backups protects recording quality but leaves a gap in your backup history—fine for an hour-long session, worth scheduling around for long ones. And because Bunch triggers from a menu rather than watching your system, it won't stop you from opening a social app mid-recording; a scheduled Bunch that closes distracting apps during set times covers that case.
As a next step, duplicate your working Bunch into a second file (say, Podcast-Solo.bunch) with different input settings, so solo and interview setups become two menu items instead of manual reconfiguration.
User reviews (0)