Command line
Every quarry subcommand, its flags and its defaults, in one reference.
The quarry binary is a single entry point with subcommands. This page lists all of them.
For a narrative walkthrough, see Index your first folder.
Global flags
These work on every subcommand.
| Flag | Meaning |
|---|---|
--version |
Print the installed version and exit. |
--help |
Print usage for the command or subcommand. |
-v, --verbose |
Print extra diagnostic output to stderr. |
--json |
Print machine-readable JSON instead of the default table output. |
quarry index
Add a folder to be watched and scanned.
quarry index <dir> [--name <name>] [--dry-run] [--list-excluded]| Flag | Default | Meaning |
|---|---|---|
--name |
folder name | Index name, used by --index and in the HTTP endpoint. |
--dry-run |
off | Report what would be indexed without writing anything. |
--list-excluded |
off | With --dry-run, also print every excluded path. |
See Include and exclude rules for how excludes are computed.
quarry search
Run a query against one or all indexes.
quarry search <query> [--index <name>] [--limit <n>] [--snippet]| Flag | Default | Meaning |
|---|---|---|
--index |
all | Restrict the search to a single index. |
--limit |
20 |
Maximum results to return, 1 to 200. |
--snippet |
on | Pass --no-snippet to skip text extraction and return faster. |
See Query syntax for what <query> accepts.
quarry status
Print every index, its file count, and whether the daemon is running.
quarry status [--index <name>]With no flags, lists every index. With --index, reports on just one.
quarry reindex
Rebuild an index from its source folder.
quarry reindex <name>Drops and rebuilds the named index’s directory under ~/.local/share/quarry/. The source
folder itself is never modified. See Index format for what gets
rebuilt.
quarry daemon
Start the background daemon in the foreground, useful on a headless machine or inside a service file.
quarry daemon [--serve] [--port <n>]| Flag | Default | Meaning |
|---|---|---|
--serve |
off | Also start the HTTP endpoint. Pro only. |
--port |
7433 |
Port for --serve, overriding the settings file. |
quarry config
Read, validate or edit config.toml from the command line.
quarry config [--check] [--set <key>=<value>] [--get <key>]| Flag | Meaning |
|---|---|
--check |
Parse the file and report the first error, if any. |
--set |
Set a single key, e.g. --set updates.check=false. |
--get |
Print the current value of a single key. |
See Settings file for every key quarry config can touch.
quarry saved
Manage saved searches.
quarry saved add <name> <query>
quarry saved run <name> [--index <name>] [--limit <n>]
quarry saved list
quarry saved remove <name>See Saved searches for the Free plan’s limit of three.
Exit codes
Every subcommand returns one of a fixed set of exit codes rather than an arbitrary error status. See Exit codes for the full table and what triggers each one.
Environment variables
| Variable | Meaning |
|---|---|
QUARRY_CONFIG |
Path to config.toml, overriding the default location. |
QUARRY_DATA_DIR |
Path to the data directory, overriding ~/.local/share/quarry. |
NO_COLOR |
Any non-empty value disables colored table output. |
QUARRY_CONFIG and QUARRY_DATA_DIR are mainly useful for running more than one isolated
Quarry instance on the same machine, for example in a test harness.
Last updated Aug 18, 2026