Four faces
A terminal command, a desktop window, a browser page and a full-screen terminal — which is for what, and what they share.
On this page (6 sections)
Scour is one service. scourd holds the index, listens to the filesystem and answers over a socket. Every interface you see is a client of that socket — none of them opens the index itself, and none is more “real” than another.
The practical consequence: the settings are shared. The language you pick in the window applies in the browser too. Column widths, sort order, ignore rules — all of it sits beside the index, and every face reads from the same place.
scour — the terminal command
scour report # search
scour "ext:pdf size:>1mb" -n 20
scour tree /usr/share --depth 2
scour du ~/Projects # folder sizes
scour status # what the index is doing
scour where # where settings and index live
scour syntax # the whole query languageIts output is made to be piped. This is the face xargs and your scripts use.
scour-gui — the window
A native desktop window in Rust and Slint. The CPU draws it, and that is a choice that was measured: the GPU renderer wins nothing on idle CPU for this scene while costing 24 MB more memory and doubling the time to first row. A list of text gives a GPU nothing to do.
Twelve columns to pick from (the ⋮ at the end of the header row), drag and resize; a name that was cut says the whole of itself on hover. Selections multiply, the preview opens beside the list, the right-click menu behaves like a file manager’s. A second scour-gui does not open a second window — it brings the first forward, which is what makes a hotkey safe to bind. It opens on a query:
scour-gui --query "ext:pdf dm:30d"scour-web — the browser
It opens a port on your own machine and serves the page from there; there is no remote server. The link carries a token, and the token changes every run — an old link does not work.
The same twelve columns, grid and large-icon views, the system’s own thumbnails, CSV export, duplicate finding and a report tab.
scour-tui — full-screen terminal
A full-screen terminal face written with ratatui. It works wherever a window cannot open: a remote machine, a rescue shell, a server, a tmux session. Type, location and size rails on the left; the result list in the middle; the distribution over time below.
scour-mcp — for language models
A Model Context Protocol server. It opens the same index so a model can explore a filesystem: eleven read-only tools, every answer bounded and saying when it was cut — scour_tree lists a directory of a million files as fast as one of ten and says how many it left out, which is the only way such a thing fits in a context window.
scour mcp-config # Claude Desktop
scour mcp-config --for claude-code # one command: claude mcp add …
scour mcp-config --for codex # ~/.codex/config.tomlcursor, gemini and vscode too; each says which file it goes in.
Which face opens
The application menu entry and the hotkey (Super+F on GNOME and KDE, bound by the installer) do not name a face — they ask for Scour, and which face that means is a preference you set from inside one of them. The “how should it run” button in any interface changes it.
If something on this page is missing or wrong, report it on GitHub Issues.