![]()
19 Oct 2026
Lastee is the recent-files app I now use on my Mac. It replaces Trickster, which I used since 2021. I press ⌥⌘T, and 2 things happen in the same press: the path of the file I just saved goes to the clipboard, and the list of my recent files opens in the middle of the screen I am looking at.
I built it in 1 evening with Claude Code: a round of 29 questions, a spec, then the app, the tests and the QA. Trickster was retired the same day, on 19th October 2026. The name fits the -ee family of my other tools, next to Filee: my own file manager for macOS and Stickee: sticky notes that go full screen on every monitor.

Why I replaced Trickster
Trickster did 1 job well for years: a hotkey, a list of recent files, drag a file out. Then my Mac changed. AI agents now write files all day, and Trickster wasn't built for that.
Agents drowned the list
I analysed Trickster's own database on 19th October 2026:
| What I found | Value |
|---|---|
| Files in the list | 4,934, almost all from the last 4 days |
| New files per day | 1,200 to 1,900 |
| Written while Ghostty was in front | 53%: Claude Code agents, not me |
| Noise by type | 23%: json, log, gpx, pyc, database journals |
| Noise by folder | 20%: data/, build/, qa/, caches |
| History I could reach | About 4 days, although the setting said 31 |
The files I actually wanted, a PDF I downloaded or a screenshot I took, sat between 100s of JSON files that an agent wrote a minute ago.
Filters I couldn't make my own
- Icons came from a fixed set of 42 inside the app. None was a PDF or PowerPoint icon. Adding my own would break the code signature, and every Setapp update would overwrite it. I emailed a feature request on 2nd October 2026 and got no reply.
- "Which app wrote this?" was a guess. Trickster credits the app that was in front at the time. It credited Signal with 526 Markdown files. So its "Active Application" filter was no help.
The sandbox got in the way
Trickster is sandboxed, so it keeps a security bookmark for each watched folder. My scan share was bookmarked under its Bonjour name, but my scanner workflow mounts it by IP address. The files showed in the list, but Quick Look and drag and drop failed for every scan.
2 tools for 1 move
My most common move is "copy the path of the file I just saved and paste it somewhere": a screenshot into a note, a PDF into a script, a deck into an email. With Trickster that took an Alfred workflow (⌥L) on top of Trickster, plus a 2nd workflow to copy the path. Lastee does it in the hotkey itself.
What Lastee does differently
| Need | Trickster | Lastee |
|---|---|---|
| The hotkey | Opens the list | Copies the first file's path and opens the list |
| Agent noise | Exclude folder by folder | Excludes json, logs, .git, node_modules, build, data, qa... by default |
| History | About 4 days in practice | 30 days (favourites never expire) |
| Filter icons | 42 fixed icons | Own page icons, with the installed Office and Acrobat app icons on them |
| Copy another path | Select it, then ⌘C |
⌥⌘2 to ⌥⌘9, shown on the rows |
| Where the window opens | At the mouse pointer | Centred on the screen that holds the mouse pointer |
| Network share | Broken by the sandbox bookmark | Scanned on demand with 1 click, no sandbox |
| Scripts and Alfred | AppleScript | A CLI and a lastee:// URL scheme over a plain SQLite file |
| Cost and dependency | Setapp subscription | Mine |
The window
- Search as you type, fuzzy, on the file name only.
- Type filters,
⌘0to⌘9: All, images, PDF, video, Word, PowerPoint, Excel, Markdown, audio, HTML. Each icon shows its key. The order changed on 30th October, with the types I filter most first. - Folder filters,
⌃1to⌃9: Favourites, Downloads, Dropbox, my scan share, my screenshots folder. - Rows with thumbnails for images and PDFs, the time since the last save or open, and the folder with its core in bold: ~/ai/lab/lastee/output.
- Actions: open, show in Finder, Quick Look on
Space, Open With, rename, move to the Trash, favourite, and drag out to any app. - A notification at the bottom says what went to the clipboard, then fades out.
20 Oct 2026 After 1 day of use, 4 fixes:
- The copy keys moved from
⌥2-⌥9to⌥⌘2-⌥⌘9. My music app Hifee: my own music player for the Mac rates tracks with⌥0to⌥5, and its global shortcuts won.⌥⌘1and⌥⌘2belong to 1Password and⌥⌘3to a Hammerspoon mouse warp, so Lastee now takes these keys first while its window is open, and only then. That needs the Accessibility permission. The same applies to the folder filters: macOS uses⌃1to⌃4to switch desktops. Spaceand↩work after a click on a row. Quick Look now floats above the window, andSpaceorEsccloses it.- The selected row is a solid red bar with white text. The soft pink of the first version was hard to see.
- The copy notice is a real notification now: a dark card that floats over the list and fades out after 3 seconds. The first version was a bar that looked like 1 more row.

02 Nov 2026 2 more weeks of use brought these changes:
- Several files at once. Shift-click, ⌘-click and Shift-arrows select several files. Open, Quick Look, copy (1 path per line), favourite, Trash, Open With and drag act on all of them.
- The hotkey copies the first file in the list, whatever its type. The first version copied the newest file of a fixed list of types, which could be a file far down the list.
- Exclude from the right-click menu, by file name or by folder. Lastee writes the rule into its settings file.
- Drag into the terminal types the path. Over Ghostty, a drag drops
<path>as text, or a Markdown list for several files. Anywhere else it drops the files. - Every copied path sits between
<and>, so a path with spaces pastes cleanly into Claude Code.⇧⌘Dcopies the full path of the selection. - Show in Filee.
⌘Eor⌘↩opens the file's folder in Filee: my own file manager for macOS with the file selected. - What I open goes on top. A file opened from the window, or dragged out to another app, becomes the first row, so the next hotkey press copies it.
- Files that move are followed. When a file moves to a folder Lastee leaves out, the row says "moved" and the actions work on the new path. A duplicate parked by my intake app shows as the file it duplicates.
- Deleted files leave the list. The first version showed them dimmed and struck out.
- Network folders scan on demand. No scan at launch or on a timer. A grey Check Scans control in the search row scans my scan share, and grows louder as the list gets older.
- Saves by rename count. Preview saves a PDF by renaming a copy over it and keeps the old dates. Lastee now sees that as a save.
- Real app icons. The Word, PowerPoint, Excel and PDF filters draw the icon of the installed app on a blank page, read at run time and never shipped with Lastee.
- Its own menu bar glyph. My 6 menu bar apps all showed the same logo, so each now has its own symbol.
What I gave up
Trickster has features I left out, some on purpose:
- Apps and folders as list items, and flags. I never used them.
- Remove a file from the list without excluding it.
- Favourites as drop targets: drop a file on a folder to move it, on an app to open it.
- Pause tracking, sort by name, and a compact view.
Multiple selection and "Exclude" in the right-click menu were on this list in the first version. Both are in Lastee now.
All features
The hotkey and the clipboard
- 1 hotkey, 2 jobs.
⌥⌘Tcopies the path of the first file in the list and opens the window on the screen that holds the mouse pointer. - Copy any row.
⌥⌘2to⌥⌘9copy the path of the row that shows the key.⌘Ccopies the selection. - Full path.
⇧⌘Dcopies the full path. - Paths in brackets. Every copied path sits between
<and>. The prefix and suffix are settings. - Copy notice. A dark card floats over the list, shows the path and fades out.
The window
- Search as you type. Fuzzy, on the file name only.
- Type filters.
⌘0to⌘9, with the icon of the app that opens each type. - Folder filters.
⌃1to⌃9: Favourites, Downloads, Dropbox, my scan share, my screenshots folder. - Rows. Thumbnails for images and PDFs, the time since the last save or open, the folder with its core in bold.
- Several files. Shift-click, ⌘-click and Shift-arrows select several files for every action.
- Actions. Open, Open With, Quick Look on
Space, rename (⌘R), Trash, favourite, show in Finder or in Filee (⌘E). - Drag out. To any app. Over Ghostty, the drag types the path instead.
- Exclude. Right-click to leave out a file name or a folder.
- Light and dark. Follows macOS.
The index
- Saves and opens. "Saved" is the later of the modification date and the date added. "Opened" is the last-opened date that Spotlight shows, or the time I opened the file from Lastee.
- Follows renames and moves. By inode, so an atomic save stays 1 row and a moved file keeps its row.
- Agent noise out by default.
json, logs,.git,node_modules,build,data,qaand caches are excluded. - 30 days of history. Favourites never expire. Deleted files leave the list.
- Network folders. Scanned on demand from the Check Scans control, the menu bar or
⇧⌘N.
Scripts and agents
- Menu bar. Its own glyph, the last file, and a scan.
- Alfred.
lastee alfredfeeds my Alfred workflow. - Agent interface. A
lasteecommand line with JSON output: status, the last file (by type), the list, copy the last file, show the window. Writes go throughlastee://URLs and are confirmed by the app.
For business people
Lastee saves seconds many times a day. The value is in the 1 press: the file I just made is on the clipboard before I think about where it went. It costs nothing to run, uses about 20 MB of memory when idle and no CPU, and it doesn't depend on a subscription. The limitation is mine to carry: nobody else maintains it.
For technical people
Stack
- Swift 6 and AppKit, frame-based layout, no third-party code. The app is 1.2 MB.
- FSEvents with file-level events over the home folder. Each event costs 1
lstat, 1getattrlistand 1getxattr. - "Saved" is max(modification date, date added). The date added catches downloads and copies that keep an old modification date.
- "Opened" is the
com.apple.lastuseddate#PSattribute, the value Spotlight shows as "Last opened". Reading it on each change avoids Spotlight's lag. - Renames and atomic saves follow by inode, so a save that writes a temp file and renames it over the original stays 1 row.
- SQLite in WAL mode holds the index. The list lives in memory, newest first. Changes merge into it in 1 linear pass, so the hotkey never sorts.
- A global Carbon hotkey, which needs no Accessibility permission. Inside the window, a key event tap takes
⌥⌘1-⌥⌘9and⌃1-⌃9ahead of other apps' global shortcuts. It exists only while the window is open. - A non-activating panel: it takes the keyboard while the app I was in stays in front, and that app gets the focus back when the panel closes.
Budgets
| Metric | Budget | Measured |
|---|---|---|
| Hotkey to the list on screen | < 50 ms | 20 to 28 ms |
| Filter per keystroke, 50,000 files | < 10 ms | about 1 ms |
| Memory when idle | < 60 MB | about 21 MB |
| CPU when idle | ~ 0% | 0% |
QA
21 unit tests and 142 end-to-end checks, up from 18 and 79 in the first version. The QA script runs the real app on fixture folders: it writes, renames, moves and deletes files, sends key presses to the window, then checks the list, the filters, the copy rule and the timings. It never takes the focus and uses a private clipboard, so it runs while I work. A code review by a 2nd agent found 9 bugs before I used the app, for example the list jumping back while I scrolled during agent writes. All 9 are fixed and tested.
What I learned
- Never block on a privacy prompt. Reading Trickster's database for the import triggers macOS's "access data from other apps" prompt, and the file watcher waited for my answer. The import now runs on its own queue. Full Disk Access avoids the prompts altogether.
- Agents change what "recent" means. Excluding by file type and by working folder matters more than any other feature.
Further reading
The app Lastee replaces:

The tool I built it with:

- Filee: my own file manager for macOS: the file manager I built the week before, which shares Lastee's code for the hotkey, the fuzzy search and Quick Look.
- Alfred: the Alfred workflow that now reads from Lastee.
- The era of personal software is here: why I now build the apps I use.