Built-in packs
The menus that come with MacScout, when each one appears, and what its actions do.
MacScout comes with eleven action packs. Each pack adds a submenu to the context menu and the ⚡ Actions menu, and only when it has something to offer for the selection. Open In is the exception: its items sit directly in the menu.
You can turn any pack off with packs in the config file, or in Settings → Actions → Action Packs.
Several packs work on the working folder. That is the selected folder, or the folder that contains the selection, or the open folder when you right-click empty space. It follows the same rules as custom actions.
Open In
apps · For any selection, and for empty space in a folder.
- Open in your editor (⇧⌘E) opens the selected items in your editor. On empty space, it opens the folder.
- Open in your terminal opens a terminal window in the working folder.
- Open in IDE opens the working folder in one of your IDEs.
MacScout picks the apps from what you have installed. apps sets them yourself.
Scripts
scripts
- Run in Terminal (or Run 3 Scripts in Terminal) appears when every selected item is a script:
.sh,.command,.zsh,.bash,.py,.rb,.js,.mjs,.tsor.pl. Python, Ruby, Node.js and Perl scripts run withpython3,ruby,nodeandperl, and TypeScript runs withnpx tsx. Other scripts run directly if they are executable, and withshif they aren't. - npm install and npm run script appear when the working folder has a
package.json, or when you select one. There is one item for each script, in the order of the file. Instead of npm, MacScout uses the package manager of the project. SeepackageManager. - make lists up to 30 targets from the
Makefilein the working folder, when you right-click a single folder or empty space.
Everything in this menu runs in your terminal. In the App Store version, MacScout opens the terminal in the folder and copies the command for you to paste.
Git
git · For empty space, a single folder, or one or more files.
Outside a Git repository, the menu only has Initialize Repository. Inside one:
- Status and Log open in your terminal, or in a window in the App Store version. Log shows the last 50 commits as a graph.
- Pull (fast-forward only), Pull (Rebase), Fetch (all remotes) and Push run in the background, in the root folder of the repository. When they finish, the last line Git printed appears in the corner of the window.
- Open on github.com opens the repository in your browser. The item shows the host of the
originremote, so it can also say gitlab.com or the name of your own server. - Add .gitignore adds rules for macOS, Node, Swift, Python, Go, Rust, Java or common editors to the
.gitignorein the working folder. Rules that are already in the file aren't added again.
Git commands in the background never ask for a password. If a remote needs credentials that Git can't get from your keychain or SSH agent, the command fails with Git's message. Open the folder in your terminal and run the command there instead.
The App Store version can't use /usr/bin/git, so it runs the git from your PATH, for example from Homebrew, or the one inside Xcode. See Developer tools.
JSON
json · When every selected item is a JSON file.
JSON files are .json, .jsonc, .geojson and .webmanifest files, and any other file macOS knows as JSON.
- Format rewrites the files with an indentation of two spaces.
- Minify removes all whitespace.
- Validate checks the files and lists the problems it finds.
Comments aren't valid JSON, so Format and Minify stop with an error on a file that contains them.
Organize
organize
- Batch Rename… (⇧F2) renames all selected items in one go. It can find and replace text (with regular expressions if you like), add a prefix or suffix, change the case, number the items, or change the extension, and it shows every new name before you apply it. On empty space, it's called Batch Rename All… and renames every item in the list.
- Flatten Folder moves the files from all subfolders up into the selected folder, then moves the empty subfolders to the Trash. Files with the same name get a number. MacScout asks first.
- Remove Empty Folders moves the empty folders inside the selected folders to the Trash, including folders that only contain other empty folders.
- Sort into Folders moves files into new subfolders: By Type (Images, Videos, Documents, Code and so on), By Extension, By Month (like
2026-09) or By Year, based on the date each file was last changed. It appears when two or more files are selected, or on empty space in a folder with two or more files.
On empty space, Flatten Folder and Remove Empty Folders work on the open folder. ⌘Z undoes Batch Rename and Sort into Folders.
Archive
archive · For any selection.
- Extract Here appears when every selected item is a
.zip,.tar,.gz,.tgz,.bz2,.tbz,.xzor.txzarchive. Each archive is extracted into a new folder next to it, named after the archive. If everything in the archive is inside one folder, you get that folder, without an extra folder around it. - Compress to ZIP and Compress to TAR.GZ pack the selection into one archive in the same folder. For a single item, the archive is named after it. For several, it's called
Archive.ziporArchive.tar.gz.
⌘Z moves a new archive or extracted folder to the Trash. For 7z and RAR files, see the recipe.
Images
images · When every selected item is an image.
- Convert to JPEG, PNG, HEIC or TIFF saves a converted copy next to each image.
- Resize saves a copy with the longest side at 3840, 2560, 1920, 1280, 1024 or 512 pixels, or at half the size. The size goes into the name of the copy:
photo-1920.jpg, orphoto-50.jpgfor half the size. - Rotate Right turns the images 90° clockwise. It changes the files themselves.
- Remove Metadata deletes the camera details, the location, keywords, captions and the embedded preview from the images, and keeps their orientation, color profile and HDR. It appears when every selected image is a JPEG, PNG, HEIC, TIFF, GIF, BMP or AVIF file, and it changes the files themselves. JPEG, PNG, TIFF and GIF images keep their exact pixels. HEIC and AVIF images are saved again at high quality.
When every selected item is a PDF, the menu has PDF to PNG and PDF to JPEG instead. They save every page as an image at twice its size, numbered, in a new folder named after the PDF.
⌘Z moves converted and resized copies to the Trash.
AI
ai
- Copy as AI Context (⇧⌥⌘C) copies the selected files to the clipboard as Markdown. Each file gets its path as a heading, followed by its contents in a code block. MacScout reads selected folders with everything inside them, but skips hidden files and folders like
node_modules,.git,buildanddist. Binary files are skipped, and so are files that would make the text larger than 400 KB. - Ask Claude…, Ask ChatGPT… and Ask Perplexity… copy the same text and open the chat in your browser. Paste the text into the message field.
- Claude Code Here and Codex Here start the
claudeorcodexcommand line tool in the working folder, in your terminal. They need to be installed. In the App Store version, you paste the command into the terminal yourself.
Only the last two items appear on empty space.
Hash
hash · When only files are selected.
- SHA-256, SHA-1, MD5 and SHA-512 show the checksum of each file in a window. With a single file, the checksum is also copied to the clipboard.
- Create SHA-256 Checksum File saves the checksums next to the files, in the format of
shasum -a 256. For one file it's namedphoto.jpg.sha256, for severalSHA256SUMS.sha256. - Verify Checksums appears instead of the other items when every selected file is a checksum file:
.sha256,.sha1,.md5,.sha512,.sha256sumor.md5sum. It checks the files listed inside and reports matches, mismatches and missing files.
Locked Files
locked · For any selection.
- Show Apps Using This… (or These…) lists the apps and processes that have the selected files open, or files inside the selected folders, with buttons to quit them. Try it when a drive won't eject or a file can't be deleted. The App Store version doesn't have it.
- Lock and Unlock set or clear the Locked checkbox you know from Finder's Get Info window. A locked file can't be changed or deleted until you unlock it.
Copy Path
path · For any selection, and for empty space in a folder.
| Item | Copies |
|---|---|
| Copy Path (⌥⌘C) | /Users/alex/Pictures/Beach Day.jpg |
| Copy Name | Beach Day.jpg |
| Copy as ~ Path | ~/Pictures/Beach Day.jpg |
| Copy Quoted Path | '/Users/alex/Pictures/Beach Day.jpg', ready for the shell |
| Copy File URL | file:///Users/alex/Pictures/Beach%20Day.jpg |
| Copy Parent Folder Path | /Users/alex/Pictures |
With several items selected, you get one line per item. Copy Parent Folder Path lists each folder once. On empty space, the items copy the open folder.