Profile
Back to NewsBack
GitHub Trending 8 min
Reader Mode
nikgrbn/finder-menu: Right-click menu for macOS Finder: New File, Open Terminal Here, Copy Path, Go to Parent Folder

nikgrbn/finder-menu: Right-click menu for macOS Finder: New File, Open Terminal Here, Copy Path, Go to Parent Folder

16 hours ago

Finder Menu icon

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.

Latest release macOS 13 or later Swift 5 Install with Homebrew from nikgrbn/tap No network access MIT license

Install · What's in the menu · Templates · Settings · Languages · Privacy · How it works


Finder's right-click menu in a folder: Finder's own items, then New File…, Open Terminal Here, Open Folder With (open, listing Visual Studio Code, Sublime Text, IntelliJ IDEA, PyCharm, Android Studio, Xcode and Other App…), Copy Path and Go to Parent Folder
Right-click empty space in any folder. Finder's own items are faded here to show what Finder Menu adds.


📂

Built-in
Five actions in Finder's own right-click menu.

🧰

Your tools
Terminals, VS Code, Cursor, JetBrains, Xcode…

🔒

Private
No network code, no telemetry.

🪶

Tiny
About 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 | |:-:|---|---| | | New File… | Asks for a name with any extension (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 Terminal Here | Opens a terminal in the current folder: iTerm2, Ghostty, Warp, WezTerm, kitty or Alacritty if you have one, otherwise Terminal. Pick your own. | | | Open Folder With ▸ | Opens the current folder in an IDE or editor. Lists the ones you have installed (VS Code, Cursor, Windsurf, Zed, Sublime Text, JetBrains IDEs, Android Studio, Xcode…), plus Other App… to pick any app. | | | Copy Path | Copies the current folder's full path. | | | Go to Parent Folder | Moves the window up one level, even when Finder's Back button is greyed out (e.g. a window opened with 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

Left: the New File dialog with notes.md typed as the name and Save as template ticked. Right: the New File submenu it adds, with New File… at the top, the templates notes.md, .env, README.md and todo.txt, and Manage Templates… at the bottom

  1. Tick Save as template in the New File dialog.
  2. Next time, pick it under New File to create an empty notes.md in one click.
If the name is taken, you get 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 skip brew update: on its own, brew upgrade checks 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

Finder Menu settings window: a checkbox for each right-click menu item and one for external and network drives, a picker for the terminal Open Terminal Here uses, and the saved New File templates, each with a Remove button

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:

Any other language falls back to English. Want yours? See Contributing.

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/FinderMenuExtension is 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/FinderMenu is a small helper app that isn't sandboxed and has no Dock icon. The extension hands it actions through a findermenu:// 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.swift holds the list of menu items and reads the settings; Sources/FinderMenu/SettingsWindow.swift is the settings window. The helper writes the settings, and the extension only reads them.
  • Sources/Shared/Templates.swift holds 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.swift is 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.sh compiles and signs the app; scripts/finder-menu enable|disable copies it into ~/Applications and turns the extension on or off. install.sh, uninstall.sh and the Homebrew formula all use these two.
  • Resources/*.lproj holds the translations, one folder per language. scripts/build.sh copies them into both the helper and the extension, because the extension shows the menu titles.
  • scripts/make-icon.swift draws the app icon in code and regenerates Resources/AppIcon.icns and docs/icon.png.
  • docs/mockups/mockups.html draws the pictures in this README with HTML and CSS, and scripts/make-mockups.swift renders them to docs/images in 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.sh and scripts/). 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.sh signs the build on your Mac ("Sign to Run Locally"). It isn't notarized by Apple, because there's no download for Apple to check.
Found a security problem? Please report it privately, as described in SECURITY.md.

Contributing

Bug reports and pull requests are welcome.

  • Translations: copy Resources/en.lproj to Resources/.lproj, translate the text in it, add the code to CFBundleLocalizations in both Resources/*-Info.plist files, and open a pull request.
  • README pictures: they're mockups, not screenshots. Edit docs/mockups/mockups.html, then run swift scripts/make-mockups.swift.

License

MIT

NeshDevTech

NeshDevTech is a professional technology firm passionate about creating innovative, high-performance web and mobile solutions.

Core Services
  • Custom Laravel Apps
  • SPA (React & Vue.js)
  • Flutter Mobile Apps
  • SEO & Performance Opt
Get in Touch
Available for Projects

Need a high-performing system? Let's discuss your project.


© 2026 NeshDevTech. All rights reserved.

Built with

Chat with me