Skip to content
FileRanger

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 (in the App Store version, with the command helper)
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, FileRanger 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", FileRanger 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, FileRanger uses your login shell from $SHELL, and /bin/zsh if that isn't set.

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

FileRanger 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. Without the command helper, 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.

macOS opens a submenu about 200 ms after you move onto its item. The setting can make submenus open sooner, but not later: with 200 or more, the submenu opens at the usual time.

"menuShowDelay": 100

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