Settings file
Every key in config.toml, with defaults, and how the app and CLI share the file.
All of Quarry’s settings live in one TOML file: ~/.config/quarry/config.toml. The desktop
app reads and writes it directly, so a change made in the app’s settings panel shows up in
the file immediately, and a change made by hand in an editor takes effect the next time the
daemon reloads, which happens automatically when the file changes on disk.
Where it lives
$EDITOR ~/.config/quarry/config.tomlIf the file does not exist yet, Quarry creates it with defaults on first run. There is no
separate defaults file to fall back to; every key not present in config.toml simply uses
its built-in default.
A minimal example
[general]
launch_at_login = true
[updates]
check = true
[serve]
enabled = false
port = 7433Sections
[general]
| Key | Default | Meaning |
|---|---|---|
launch_at_login |
false |
Start the daemon when you log in. macOS and GNOME/KDE autostart only. |
theme |
"system" |
"system", "light" or "dark" for the desktop app. |
default_index |
none | Index searched when --index is not passed. |
[updates]
| Key | Default | Meaning |
|---|---|---|
check |
true |
Whether Quarry makes its one network request, an update check. |
interval_days |
7 |
Days between checks. |
See Updates and privacy for exactly what this request contains and how to confirm it is the only one.
[serve]
| Key | Default | Meaning |
|---|---|---|
enabled |
false |
Turn on the HTTP endpoint. Pro only. |
port |
7433 |
Loopback port. Always binds to 127.0.0.1. |
default_limit |
20 |
Default limit value for requests that omit it. |
[index.<name>]
Each index can carry its own overrides, keyed by index name. This is where per-folder
include and exclude rules are set when you are not using a .quarryignore file; see
Include and exclude rules for the full syntax and how the two
mechanisms combine.
[index.notes]
path = "/Users/dana/notes"
exclude = ["*.tmp", "drafts/**"]
[index.site-code]
path = "/Users/dana/code/site"
exclude = ["node_modules/**", "dist/**"]path is set automatically by quarry index and should not normally be edited by hand;
moving a folder means removing the index and creating a new one at the new path, since
Quarry does not track renames across the file system boundary.
[shortcuts]
Keyboard shortcuts for the desktop app. See Shortcuts for the default bindings and how to override them here.
[shortcuts]
quick_search = "Cmd+Shift+Space"
new_index = "Cmd+N"[license]
[license]
key = "QRY-PRO-XXXXXXXXXXXX"The license key gates Pro and Team features: unlimited indexes, unlimited files per index, the HTTP endpoint, editor plugins, and, on Team, shared rule files. An invalid or expired key falls back to Free limits rather than refusing to run. See /pricing for plan details and Exit codes for what a licence check failure returns from the CLI.
Editing while the daemon is running
You do not need to restart anything. The daemon watches config.toml itself and reloads
affected settings within a couple of seconds. The one exception is [serve]: switching
enabled from false to true or changing port requires the daemon to rebind its
listener, which it also does automatically on reload, but any client connected to the old
port will see the connection drop.
Validating the file
quarry config --checkThis parses the file and reports the first error with a line number, without starting the
daemon or touching any index. Useful before committing a config.toml to a dotfiles
repository.
Resetting to defaults
There is no --reset flag. Delete the file and restart the daemon:
rm ~/.config/quarry/config.toml
quarry statusYour indexes under ~/.local/share/quarry/ are unaffected by this; only the settings
themselves reset. See Project structure for how the two
directories relate.
Last updated Jul 1, 2026