A small native macOS Finder extension that adds a New Document item to Finder's right-click menu.
When you choose New Document, the app asks for a document name and extension, creates an empty file in the current Finder location, and reveals the new file.
- Adds New Document to Finder context menus
- Works from the empty area inside Finder folders
- Prompts for both file name and extension
- Creates empty files without overwriting existing ones
- Automatically uses
Name 2.ext,Name 3.ext, and so on when a file already exists - Runs as a helper app without showing a Dock icon
- macOS 13.0 or newer
- Xcode 16 or newer recommended
- Finder Extensions enabled in System Settings
The project uses AppKit and FinderSync. It is built as a standard macOS app with an embedded Finder extension.
./scripts/build_dmg.shThe script builds the Release app and creates:
NewFilePlugin.dmg
The DMG includes NewFilePlugin.app, an Applications shortcut, and a double-click installer named New Document Installer.pkg.
For local development and testing:
./scripts/install_local.shThis script copies the app to /Applications, registers the Finder extension, enables it with pluginkit, launches the helper app once, and restarts Finder.
- Build the DMG with
./scripts/build_dmg.sh. - Open
NewFilePlugin.dmg. - Double-click New Document Installer.pkg.
- Enter your macOS administrator password if prompted.
- Go to System Settings -> Privacy & Security -> Extensions -> Finder Extensions if macOS still asks you to enable the extension manually.
- Enable New Document Finder Extension.
- Restart Finder if the context menu does not appear immediately.
killall FinderYou can also install manually by dragging NewFilePlugin.app into Applications and opening it once. The DMG also includes Install New Document.command as a script-based fallback for local testing.
- Open a folder in Finder.
- Right-click an empty area.
- Choose New Document.
- Enter a document name, for example
test. - Enter an extension, for example
txt. - Click Create.
The new file will be created in that Finder folder.
- The app is intentionally configured as an
LSUIElementhelper so it does not stay in the Dock. - Existing files are never overwritten.
- Finder extension visibility is controlled by macOS privacy and extension settings.
- For public distribution, sign with Developer ID and notarize the app/DMG.
NewFilePlugin/
NewFilePlugin/ # Helper app
NewFileFinderExtension/ # FinderSync extension
scripts/
build_dmg.sh # Release build + DMG packaging
pkg-postinstall # Installer postinstall hook
install_local.sh # Local install + extension registration
