Skip to content
MacScout

Settings reference

Every top-level key in config.jsonc, what it does and its default.

Prop

Type

packs

An object that maps a pack's ID to true or false. Packs you don't list stay on.

"packs": {
  "ai": false,
  "locked": false
}
IDMenuAdds
appsOpen in …Your editor, terminal and IDEs, directly in the menu
scriptsScriptspackage.json scripts, Makefile targets, running script files
gitGitInit, status, log, pull, fetch, push, open on the web, .gitignore templates
jsonJSONFormat, minify and validate JSON files
organizeOrganizeBatch rename, flatten folders, remove empty folders, sort into folders
archiveArchiveCreate and extract ZIP and TAR.GZ archives
imagesImagesConvert, resize and rotate images, PDF to images
aiAICopy files as AI context, open a chat, start Claude Code or Codex
hashHashSHA-256, SHA-1, MD5 and SHA-512, checksum files
lockedLocked FilesLock and unlock files, and see which apps have a file open (not in the App Store version)
pathCopy PathCopy paths, names and file URLs

The same switches are in Settings → Actions → Action Packs. Built-in packs describes each menu in detail.

apps

"apps": {
  "editor": "dev.zed.Zed",
  "terminal": "com.mitchellh.ghostty",
  "ides": ["com.apple.dt.Xcode", "com.jetbrains.WebStorm"]
}
KeyUsed for
editorOpen in your editor (⇧⌘E), and opening config.jsonc
terminalOpen in your terminal, and every action that runs in a terminal
idesThe Open in IDE submenu

Each value is an app's bundle identifier or the path to an .app bundle, like "/Applications/Zed.app" or "~/Applications/Nova.app". To look up a bundle identifier, run:

osascript -e 'id of app "Zed"'

When editor or terminal isn't set, or the app can't be found, MacScout uses the first app from these lists that is installed:

  • Editors: Visual Studio Code, Cursor, Zed, Windsurf, Sublime Text, Nova, BBEdit, CotEditor, TextEdit
  • Terminals: Ghostty, iTerm, Warp, kitty, Alacritty, cmux, Terminal

When ides isn't set, Open in IDE lists every installed app from this list: Xcode, IntelliJ IDEA, IntelliJ IDEA CE, WebStorm, PyCharm, PyCharm CE, GoLand, PhpStorm, Rider, Fleet and Android Studio. When you set ides, only those apps appear, and "ides": [] hides the submenu.

Settings → Actions → Apps edits the same three keys.

packageManager

The Scripts menu runs package.json scripts with this package manager: <manager> install and <manager> run <script>.

With "auto", MacScout looks for a lockfile in the folder that contains package.json, then in each parent folder up to the root of the Git repository:

LockfilePackage manager
pnpm-lock.yamlpnpm
bun.lock or bun.lockbbun
yarn.lockyarn
package-lock.jsonnpm

If there is no lockfile, it uses npm. In a monorepo, this finds the lockfile at the root even when you right-click a package inside it.

shell

The shell that runs the command of custom actions, and the commands that open in your terminal. By default, MacScout uses your login shell from $SHELL, and /bin/zsh if that isn't set.

"shell": "/opt/homebrew/bin/bash"

MacScout starts the shell with -lc, as a login shell that runs one command, so the shell must accept -l and -c combined. zsh and bash do. The App Store version can only start the shells that come with macOS, so it uses /bin/zsh in place of a shell from Homebrew. See The shell for what a login shell reads at startup.

How long, in milliseconds, you hover over a menu item before its submenu opens. 0 opens submenus right away. Leave the key out to keep the macOS default.

The setting can make submenus open sooner than macOS would on its own, but not later: with a value longer than the macOS delay, the submenu opens at the usual time.

"menuShowDelay": 150

This applies to the context menus of the list view. Settings → General → Submenu delay sets the same value.

actions

A list of custom actions. Custom actions covers every field.

On this page