Lupa

Indexed search across all your code repositories and notes folders, from the Windows command line, in tens of milliseconds.

Download

Lupa 0.4.1latest · published October 5, 2026
SHA-256 lupa-0.4.1-win-arm64.zip: 84e542712a56c572a2105c2fd3d1efe2f5aebe78e8f2d4d49599ae7adc90574c
SHA-256 lupa-0.4.1-win-x64.zip: 72f4f450289c0a11091f744a8af4db0b67708d2d5a2669c9c41d3b65e9c3c632

What's new in 0.4.1

Changed

  • In lupa ui's names mode (Tab), wildcards work as you'd expect: *.md lists Markdown files and ?cro* matches names like AcroTrac.md. Alt+F switches to a regular expression when you need one.
  • Typing *.md while searching file contents now suggests pressing Tab to search file names instead.

Fixed

  • lupa ui no longer keeps showing the previous file in the preview after a pattern stops matching or becomes invalid.

Windows 10 or 11. No installer, no .NET, no administrator rights. Not sure which one? Most PCs are x64; choose ARM64 for Snapdragon-based laptops.

Install

  1. Extract the zip, for example into your Downloads folder.
  2. Open PowerShell or Command Prompt in that folder and run:
    .\lupa.exe install
    This copies Lupa to %LOCALAPPDATA%\Programs\Lupa and adds it to your PATH.
  3. Open a new terminal and add the folders you want to search:
    lupa add C:\src C:\Users\you\notes
"Windows protected your PC"? Lupa isn't code-signed yet, so SmartScreen may warn the first time. If you trust where you got it, choose More info → Run anyway. To check your download, compare Get-FileHash .\lupa-<version>-win-x64.zip with the SHA-256 shown here.

Quick start

lupa search GetUserById                search everything (regex by default)
lupa search -F "connection string"     literal text
lupa search -l TODO -g "*.md"          only file names, only Markdown
lupa update                            pick up changes since the last add/update
lupa roots                             list indexed folders
lupa status                            index size and how each drive is kept current
lupa --help                            all commands and options

To remove Lupa: lupa uninstall (add --delete-index to also delete the index).

All releases

VersionPublishedDownloads
0.4.1
What changed

Changed

  • In lupa ui's names mode (Tab), wildcards work as you'd expect: *.md lists Markdown files and ?cro* matches names like AcroTrac.md. Alt+F switches to a regular expression when you need one.
  • Typing *.md while searching file contents now suggests pressing Tab to search file names instead.

Fixed

  • lupa ui no longer keeps showing the previous file in the preview after a pattern stops matching or becomes invalid.
2026-10-05
Windows ARM64 3.2 MB
84e542712a56c572a2105c2fd3d1efe2f5aebe78e8f2d4d49599ae7adc90574c
Windows x64 3.4 MB
72f4f450289c0a11091f744a8af4db0b67708d2d5a2669c9c41d3b65e9c3c632
0.4.0
What changed

Added

  • lupa ui opens an interactive search in your terminal.
  • Results update as you type, and a preview shows the lines around the selected match.
  • Enter opens the match in your editor: VS Code by default, or set LUPA_EDITOR, e.g. notepad++ -n{line} {path}.
  • Tab switches to searching file and folder names.
  • Alt+F, Alt+C, Alt+W, Alt+R and Alt+G change literal text, case, whole words, folder and globs.
  • F5 updates the index without leaving.
  • The mouse works: click to select, double-click to open, scroll with the wheel.
  • F1 lists every key.
2026-10-05
Windows ARM64 3.2 MB
7642d77ec0db8258a80a524c60c90c73a548a008d49a614377b090e2ee262145
Windows x64 3.4 MB
6c428227d5d922bcc60ff643068a21d6fd0bc56e22f7a16e71649da2544a1920
0.3.4
What changed

Fixed

  • CHANGES.txt in the download now lists every version's changes, newest first, not just the latest. Upgrading across several versions no longer hides what changed in between.
2026-10-05
Windows ARM64 3.1 MB
996e04208a3e7e8cc9a26b792d682aa6027855e23428ba17e1999a7138fb56fa
Windows x64 3.3 MB
1121a2f6c98c3e19c85c4c4e452b3fd12dec21bf1514c010e70de88ef3f2bfc7
0.3.3
What changed

Changed

  • lupa find -g "?cro*" now highlights just the part of the name the glob spells out (cro), not the whole name. *.cs highlights .cs.
2026-10-05
Windows ARM64 3.1 MB
53e90d9d6c78a45a6af9543f4b2651400c9fdd7f3e45c844d3720c2ee93e55fb
Windows x64 3.3 MB
643ef1f4d183adabe35e323a0968fdcabb1e8e0e6a756cbf7c1c76baccee2245
0.3.2
What changed

Changed

  • lupa find now colors its results like lupa search: paths in magenta and the matching part in bold red. With only -g (e.g. lupa find -g "?cro*"), the matching file or folder name is highlighted.
2026-10-05
Windows ARM64 3.1 MB
391fce2ba5e20b61d9a66112abf413992e6807b4450bd9be6da6612f157fa227
Windows x64 3.3 MB
3093988bde91fa74f6fc8029983a86beaa647f44c329c2268c015bb3fe5df598
0.3.1
What changed

Changed

  • Typing wildcards where a regular expression is expected (lupa find ?cro*, lupa search *TODO*) now gets a hint with what to type instead (-g "?cro*" or cro), not just the regex error.
2026-10-05
Windows ARM64 3.1 MB
a00df6daf2c9a5b2ebee590ed82c7db426040e7ba656848a349016dca1a84812
Windows x64 3.3 MB
e7142e2cc6f2a09d0e8749f3e70f6c3887c4654b87ac97984450712221fc7ed3
0.3.0
What changed

Added

  • lupa schedule keeps your index up to date in the background: it runs lupa update every 15 minutes (--every 30 to change it) while you're logged in, without a window and without admin rights. lupa schedule --off stops it, and lupa schedule --status shows how the last run went.
  • lupa log shows what the background updates did. --errors shows only failed runs, and --path shows where the log file is.
  • lupa status shows whether updates are scheduled and how the last one went.

Changed

  • lupa install waits for a running lupa command (such as a background update) to finish instead of failing, and pauses the schedule while it replaces the files.
  • lupa uninstall also removes the scheduled update.

Fixed

  • lupa install could fail now and then with "Access … is denied" while making its backup, because antivirus or Windows Search was briefly reading the files it had just copied. It now retries for a moment.
2026-10-05
Windows ARM64 3.1 MB
12a3786dd6cad80864d0164c7e24e22185a88e6e9a38660e68d0bbc00c1eee63
Windows x64 3.3 MB
cfb41b827f2d2b9cdc4048d285053873a6e852d21ab66f13e9bfcddab43881d1
0.2.0
What changed

Added

  • lupa find <name> finds files and folders by name across everything you've added, including PDFs, images, Office documents and other files whose content isn't searchable. For example lupa find budget, lupa find -t d Taxes, or lupa find alone to list everything. -p matches the whole path instead of the name. Files your .gitignore excludes, node_modules and the like, and hidden files aren't listed.

Changed

  • lupa status shows how many files are known by name only, and lupa add reports them as "by name only" instead of "skipped".
  • The index format changed. Your first lupa update after upgrading upgrades it and records the names of files whose content isn't indexed. This takes as long as a full rescan, once.
  • To go back to 0.1.x after this, delete %LOCALAPPDATA%\Lupa and add your folders again: older versions can't update the new index.
2026-10-05
Windows ARM64 3.0 MB
60b3af65c40991057dd3614fe8bd0772fb13546f5f7bd486f8c434d92f959c54
Windows x64 3.2 MB
60300ce4744d93adcb12b1f2f82cbbd45692083f38d172fb458dbc32d2b3b8af
0.1.5
What changed

Added

  • lupa search -c prints how many lines match in each file, and --count-matches prints how many matches each file has, as path:count. Same flags as ripgrep.
  • To count matches in a single file: lupa search --count-matches PATTERN --root <file>.
2026-10-04
Windows ARM64 3.0 MB
2c023bcabf2b9fbcc808000bd6c39a6a6fbf2a32cf7eca378ccc86eea474ec4f
Windows x64 3.1 MB
c4738171df603032e7193334d274fd464ab25f68e97419689b772b5b36b11e51
0.1.4
What changed

Changed

  • lupa update is much faster on drives without a change journal, such as Google Drive. It no longer re-reads files it already found to be binary or minified, unless they change. On a Google Drive folder, a no-change update went from about 16 seconds to under 1.5. The first update after upgrading still takes the old time once.
  • Files that are never searchable text, such as PDFs, Office documents, images, audio and video, and archives, are now skipped by their extension without being opened. On a cloud drive, they're no longer downloaded just to be skipped.
  • Google Drive shortcut files (.gdoc, .gsheet, .gslides, …) are no longer indexed. They only contain a document id; the documents themselves live online and can't be searched.
2026-10-04
Windows ARM64 3.0 MB
8fd4db209398c2a9567a684be3f961dfba59e7915698fa4bd6f50fe7a0a8f5cd
Windows x64 3.1 MB
f1b98458a7be075523b6b90cb44288f38103c834084ccbcd42c730232c0e6d17
0.1.3
What changed

Added

  • lupa remove <folder>... takes folders out of the index, for example ones you've deleted or no longer want searched. Your files on disk aren't touched.
  • After removing a large part of the index, lupa remove compacts it, so the index file shrinks too.
2026-10-04
Windows ARM64 2.9 MB
f51be2506a1009a47e3e974e60e44087af9b43fe5792da4868f3f8389ba43d5a
Windows x64 3.1 MB
9dd93d06bd297bb3fadf04f59b0a9814d700d57acbf0d0a7c8d7029568bbf011
0.1.2
What changed

Changed

  • lupa install now backs up the version it replaces into %LOCALAPPDATA%\Programs\Lupa\backups\<version>, and installs the README, release notes and license files along with lupa.exe.
  • lupa install does nothing if that version is already installed.
  • To go back to an earlier version, run lupa.exe install from its folder under backups.
  • lupa uninstall also removes the backups.
2026-10-04
Windows ARM64 2.9 MB
2175e972c6a8214aab1d600a2aa302de523b78e41e19615f13ceeead2377328b
Windows x64 3.1 MB
5bda6254e9fa9f0dac05b7ecff60c1f8e8a9b2fbfdec42552029c1dc2f3d623a
0.1.1
What changed

Changed

  • lupa add --help now says it takes one or more folders, with examples, including how to quote paths that contain spaces.
  • After you add your first folder, a one-time tip shows how to add more folders at once.

Fixed

  • "1 file" instead of "1 files" in lupa add and lupa roots.
2026-09-30
Windows ARM64 2.9 MB
a01087500217d8ad2e3f4f47c944fff37dc15a24da72f1227e64226715a48814
Windows x64 3.1 MB
9a9c97d1239fbb7099321e608c59583418b7170e31c66583bbae119d7c9701ed
0.1.0
What changed

Added

  • First release.
  • lupa add: index folders, respecting .gitignore and skipping build output, binaries, and minified files.
  • lupa search: substring and regex search across everything you've added, with path:line:column:text or JSON Lines output.
  • lupa update: pick up changes quickly through the Windows USN Journal, without administrator rights.
  • lupa roots and lupa status: see what's indexed and how each drive is kept current.
  • lupa install and lupa uninstall: set up Lupa for your user, no administrator rights needed.
2026-09-30
Windows ARM64 2.9 MB
bcace85db7b9a46e1d355dacd954e1a06aa5777ef628ae5323a832792f6e88d5
Windows x64 3.1 MB
d50130008507390f044b25d557fcb225543514e0a562149eed3afe237d292960