Finder Menu
The right-click options macOS is missing.
New File, Open Terminal Here, Open Folder With, Copy Path and Go to Parent Folder, in Finder's own menu.
Install · What's in the menu · Templates · Settings · Languages · Privacy · How it works
Right-click empty space in any folder. Finder's own items are faded here to show what Finder Menu adds.
📂Built-inFive actions in Finder's own right-click menu. |
🧰Your toolsTerminals, VS Code, Cursor, JetBrains, Xcode… |
🔒PrivateNo network code, no telemetry. |
🪶TinyAbout 900 lines of Swift, built on your Mac. |
What's in the menu
Right-click empty space in any folder, with nothing selected:
| | Menu item | What it does |
|:-:|---|---|
| 
notes.md, main.py, .env), creates it in the current folder and selects it. Never overwrites. Names you use often can be saved as templates. |
| 



open .). |
Right-clicking a file or folder works too: Copy Path copies the selected items' paths, and Open Terminal Here and Open Folder With use the selected folder.
The menu also appears on external drives, disk images and network shares (such as SMB), not just your Mac's own disk.
New File templates
- Tick Save as template in the New File dialog.
- Next time, pick it under New File to create an empty
notes.mdin one click.
notes 2.md, like in Finder. Manage Templates… removes templates.
Install
With Homebrew:
brew install nikgrbn/tap/finder-menu
finder-menu enable
Or from source:
git clone https://github.com/nikgrbn/finder-menu.git
cd finder-menu
./install.sh
Either way, the app is built on your machine, installed to ~/Applications/Finder Menu.app and the Finder extension is turned on. There's nothing to launch: Finder loads the extension by itself, including after a restart.
[!NOTE]
The first time you use Go to Parent Folder, macOS asks whether Finder Menu can control Finder. Click OK, because that's how it moves the window.
Update
brew update && brew upgrade finder-menu
finder-menu enable
From source, run git pull && ./install.sh in the repo folder.
[!TIP]
Don't skipbrew update: on its own,brew upgradechecks for new versions only once a day.
Settings
Open Finder Menu from Spotlight or your Applications folder, or run finder-menu settings. The settings window lets you:
- choose which items appear in the right-click menu
- choose whether the menu also appears on external and network drives (it does by default)
- pick the terminal for Open Terminal Here. Automatic uses the first one installed, in this order: iTerm2, Ghostty, Warp, WezTerm, kitty, Alacritty, Terminal. Other App… lets you pick any app.
- remove New File templates
Changes apply the next time you right-click. You can also set the terminal from the command line: finder-menu terminal Ghostty (any app name works), finder-menu terminal to see the current choice, and finder-menu terminal auto to go back to automatic. If you installed from source, run scripts/finder-menu from the repo folder instead.
Languages
Finder Menu uses your Mac's language:
- 🇺🇸 English
- 🇩🇪 German, translated by @9trzj5nztr-design
- 🇮🇹 Italian
- 🇷🇺 Russian
- 🇺🇦 Ukrainian, translated by @artemartemenko
Uninstall
With Homebrew:
finder-menu disable
brew uninstall finder-menu
From source:
./uninstall.sh
Troubleshooting
- Menu items don't appear: hold ⌥, right-click Finder in the Dock and choose Relaunch. Also check that Finder Menu is turned on under System Settings → General → Login Items & Extensions → Finder extensions.
- Asked for permission again after reinstalling: expected. Every build is signed locally with a new signature, so macOS asks again.
- A drive shows the Finder Menu icon in Finder's sidebar: some macOS versions give the drives a Finder extension works on that app's icon. It's only the icon. If it bothers you, untick Also on external and network drives in settings, which also takes the menu off those drives.
How it works
Sources/FinderMenuExtensionis a Finder Sync extension that adds the menu items to every folder. Finder only asks it about the drives it lists, so it lists every mounted drive and updates the list when one is mounted or ejected. Finder extensions must run sandboxed, so this part only reads the clicked folder and copies paths.Sources/FinderMenuis a small helper app that isn't sandboxed and has no Dock icon. The extension hands it actions through afindermenu://URL, and the helper ignores those URLs from anything else. It creates the files, opens the terminal and moves the Finder window, then quits.Sources/Shared/Settings.swiftholds the list of menu items and reads the settings;Sources/FinderMenu/SettingsWindow.swiftis the settings window. The helper writes the settings, and the extension only reads them.Sources/Shared/Templates.swiftholds the New File templates (saved file names). The extension builds the New File submenu from them, and the helper looks up the chosen template by id, so the file name never travels in the URL.Sources/Shared/Editors.swiftis the IDE list. The extension builds the submenu from it, and the helper refuses links naming any app that isn't on it.scripts/build.shcompiles and signs the app;scripts/finder-menu enable|disablecopies it into~/Applicationsand turns the extension on or off.install.sh,uninstall.shand the Homebrew formula all use these two.Resources/*.lprojholds the translations, one folder per language.scripts/build.shcopies them into both the helper and the extension, because the extension shows the menu titles.scripts/make-icon.swiftdraws the app icon in code and regeneratesResources/AppIcon.icnsanddocs/icon.png.docs/mockups/mockups.htmldraws the pictures in this README with HTML and CSS, andscripts/make-mockups.swiftrenders them todocs/imagesin light and dark.
Privacy & security
You build Finder Menu yourself from this source, so there's no downloaded app to trust. Everything below can be checked in the code:
- No network access. There's no networking code, so nothing is sent anywhere: no telemetry, no analytics, no update checks.
- Small enough to read. About 900 lines of Swift and 170 lines of shell scripts (
install.sh,uninstall.shandscripts/). Read them before you run them. - Sandboxed Finder extension. It can't read your files. It only gets the folder you right-click, the items you select and the list of mounted drives, plus read-only access to Finder Menu's own settings (which items to show and where, plus any New File templates).
- The helper only acts when you pick a menu item. It creates an empty file with the name you type or a template name you saved (never overwriting anything), opens a terminal or an app in a folder, or moves the Finder window up a level.
- Links from other apps are ignored. The extension sends actions to the helper as
findermenu://links. Other apps can send those links too, and so can a website after your browser asks you. Opening a folder they choose in a terminal or IDE could run code from it, so the helper checks the code signature of whatever sent each link and ignores any that didn't come from its own Finder extension. On top of that, it only acts on folders that exist, only opens apps from its built-in IDE list (or one you pick yourself), asks before a custom New File, and for templates only uses a file name you already saved (never taken from the URL). - One permission. Go to Parent Folder asks once to control Finder. Finder Menu doesn't ask for Full Disk Access, Accessibility or anything else.
- Signed locally, not notarized.
install.shsigns the build on your Mac ("Sign to Run Locally"). It isn't notarized by Apple, because there's no download for Apple to check.
Contributing
Bug reports and pull requests are welcome.
- Translations: copy
Resources/en.lprojtoResources/.lproj, translate the text in it, add the code toCFBundleLocalizationsin bothResources/*-Info.plistfiles, and open a pull request. - README pictures: they're mockups, not screenshots. Edit
docs/mockups/mockups.html, then runswift scripts/make-mockups.swift.