An app launcher for the macOS Dock: every app in one grid, with your own folders, categories and search.
A replacement for the Dock's Applications stack, in Liquid Glass.
Pin MenuFold to the Dock like any other app. Click its icon and a panel opens in the middle of the screen with all your apps. Click an app to launch it, or press Esc to close the panel.
MenuFold doesn't patch the Dock or any system process, so you don't need to change SIP. It also needs no Accessibility or Screen Recording permission.
- Every app in one grid. Apps are found through Spotlight, so new installs show up on their own. Copies
inside other bundles, helper apps under
/Libraryand duplicates are skipped. - Folders. Drop one app onto another to make a folder, just like on iPhone. You can rename a folder and
pick its colour, an SF Symbol or an emoji. Folder tiles show how many apps they hold, and "Open All"
launches every app in a folder. Subfolders of
/Applications(such as Utilities) appear as folders too. MenuFold never moves any files. - Category tabs. Apps are sorted into tabs by their App Store category. You can move an app to another category, make your own categories, and drag tabs into any order. Drop an app onto a tab to move it there; popular apps without a category are sorted automatically.
- Running and Recent tabs. The apps that are open right now, with a Dock-style dot under each one that is running, and the apps you opened last.
- Pinned and frequent apps. Pin the apps you want at hand; the ones you open most often sit in a row above the grid. Newly installed apps get a dot until you open them.
- Your own order. Drop an app on the edge of another tile to arrange "All" yourself, or keep it alphabetical. ⌘Z undoes any layout change.
- Search. Results are ranked, with initials ("vsc") and fuzzy matches, and a query typed in the wrong keyboard layout still works. Names match in the system language and in English, folders and categories are found by name, and System Settings panes open right from the results.
- Keyboard. Use the arrow keys to move, Return to launch, ⌘1…⌘9 or ⌃Tab to switch tabs, ⌘R to show in Finder and ⌘⌫ to move to the Trash. Esc closes a folder, then the panel.
- More ways to open it. A global shortcut, an optional menu bar icon,
menufold://links, Shortcuts actions, and a Dock icon menu with your pinned apps, frequent apps and folders. - Per-app actions. Right-click an app to open it (or a new instance), pin it, show it in Finder or its package contents, copy its path, quit it, hide it from the grid, give it a custom icon, change its category or move it to the Trash together with its support files (MenuFold asks first).
- Your data. Export and import the layout, restore one of the daily backups, or keep it in iCloud Drive or Dropbox to share folders and categories between Macs. Settings also list apps you haven't opened in a long time, with their size.
- Dock icon. Choose the MenuFold logo, the macOS launcher icon, the Applications folder icon or your own picture.
- Grid size. Choose the number of columns and rows.
- Six languages: English, Ukrainian, German, Polish, French and Spanish.
![]() |
![]() |
| An open folder | Search |
- Download
MenuFold-<version>.dmgfrom the latest release. - Open the DMG and drag MenuFold onto Applications. (If you open it straight from the disk image, MenuFold offers to move itself there.)
- Open MenuFold from Applications. It is not notarised by Apple, so macOS blocks the first launch with "Apple could not verify…". Click Done, go to System Settings → Privacy & Security, scroll down and click Open Anyway, then confirm with your password. You only do this once.
- Keep MenuFold in the Dock: right-click its icon → Options → Keep in Dock. You can then remove the Dock's own Applications stack.
Requires macOS 26 or later on Apple silicon.
To check the download, run shasum -a 256 -c SHA256SUMS in the folder that holds both files.
MenuFold updates itself with Sparkle. On the second launch it asks whether to check for updates automatically. You can also use Check for Updates… in the app menu or in the Dock icon's menu, and change the setting in Settings → General → Updates. Every update is signed, and MenuFold refuses an update whose signature does not match. Updates install without the Open Anyway step.
Versions up to 0.3 have no updater: install 0.4 or newer from the DMG once.
Quit MenuFold, move MenuFold.app to the Trash and delete ~/Library/Application Support/MenuFold/.
What changed in each version is listed on the Releases page.
| Action | How |
|---|---|
| Open or close the panel | Click MenuFold in the Dock |
| Launch an app | Click it, or select it and press Return |
| Make a folder | Drag an app onto another app (on the All tab, with an empty search) |
| Take an app out of a folder | Drag it outside the open folder |
| Rename a folder | Click its title while it is open |
| Reorder tabs | Drag a tab, or right-click it → Move Left / Move Right |
| Settings | ⌘, while MenuFold is active, or right-click its Dock icon |
Your layout (folders, categories, hidden apps, custom icons) is saved in
~/Library/Application Support/MenuFold/. Settings → General → Show in Finder takes you there.
| Tab | What's there |
|---|---|
| General | Open at login, Dock icon, the frequent apps row and its history, show or reset the layout |
| Categories | Turn the Running tab on or off, add, rename or delete your own categories, reset the tab order |
| Apps | Bring back hidden apps, change or reset custom icons, show Finder folders you dissolved again |
| About | Version, links and the donation addresses |
MenuFold runs entirely on your Mac. Its only network request is the update check: once a day (if you
allow it) it downloads appcast.xml from this repository's GitHub releases. It sends no data about you
or your apps; GitHub sees the request like any download. It reads:
- Spotlight metadata, to find apps;
- each app's
Info.plist, for its name and category; - the
com.apple.dockpreferences (tile size and orientation only), to tell whether a click came from the Dock.
It writes only inside ~/Library/Application Support/MenuFold/. If layout.json gets damaged, MenuFold
moves it aside as layout.corrupt-<date>.json and warns you in Settings, so your old layout is not lost.
When you drag an app out of the panel, Finder can only make an alias of it. It cannot move or copy the app.
MenuFold is free. If you find it useful, you can support its development with crypto. The same addresses, with copy buttons and QR codes, are in Settings → About. Send only on the network shown.
| Coin | Network | Address |
|---|---|---|
| BTC | Bitcoin | bc1qucdvlr66xqu4xeeyrlhm0ru2nl7klyfnyy3wsc |
| ETH | Ethereum (ERC-20) | 0xb1c1314a1d63d6ae92c54d64ed8f34daca683a80 |
| SOL | Solana | H8AgKJgd9yCwXQQfPYV3DwhAcXSUADpYbiXY4reHiPLS |
| TRX | Tron (TRC-20) | TF9rt5o7RkgpsA88mrXxqLBiUnnMGnAanr |
You need macOS 26+, Xcode with the macOS 26 SDK, and XcodeGen
(brew install xcodegen).
scripts/build.sh run # generate the project, build Debug into ./build and launch it
scripts/release.sh # Release build, verified, packed into ./dist (DMG, zip, appcast.xml)The logic lives in a Swift package that builds and tests with just the Command Line Tools:
cd Packages/MenuFoldCore && swift build && swift test
scripts/typecheck-app.sh # typecheck App/ in a few seconds, without building the appMenuFold.xcodeproj is generated from project.yml. Edit project.yml, not the project.
Packages/MenuFoldCore: the app catalog (Spotlight), filtering rules, the saved layout, Finder folders and theGridModelthat drives the UI. It has no views and is unit-tested with Swift Testing.App/: the AppKit + SwiftUI shell, made up of the panel window, Dock click handling, keyboard input, the views and Settings.
CI builds and tests the package and typechecks App/ on every push. Pushing a v* tag builds the app and
publishes a GitHub release.
- Add a
## <version>section to CHANGELOG.md and setMARKETING_VERSIONinproject.yml. Commit. git tag v<version> && git push origin v<version>. The Release workflow builds the DMG, the zip andappcast.xmland publishes them. Installed copies pick the version up fromreleases/latest/download/appcast.xml, so do not mark a release you don't want installed as latest.
Updates are signed with an EdDSA key. It was made once with Sparkle's generate_keys and lives in the
maintainer's login Keychain; its public half is SUPublicEDKey in App/Info.plist. CI reads the private
key from the SPARKLE_PRIVATE_KEY repository secret:
build/SourcePackages/artifacts/sparkle/Sparkle/bin/generate_keys -x sparkle.key # after scripts/build.sh
gh secret set SPARKLE_PRIVATE_KEY < sparkle.key && rm -P sparkle.keyKeep a backup of this key (for example in a password manager). Without it, existing installs can no longer be updated.
- The app is not notarised, so the first launch needs Open Anyway (see Install). Notarisation needs a paid Apple Developer account.
- With ad-hoc signing, Open at Login may need to be approved again after an update.
MenuFold is released under the MIT License: you may use, copy, change and share it freely, as long as the copyright notice stays with it.



