ShotScribemacOS
Apple silicon and Intel · macOS 13 or later · free and open source

Every screenshot, named.

The moment it lands, by the AI you already use. And it stays a file in your folder.

Signed and notarized by Apple·MIT·No account, no telemetry
~/Pictures/Screenshots
NameTagsKind
  • Screenshot 2026-09-18 at 9.41.07 AM.png2026-09-18 0941 Halyard API Keys.pngsettingsdashboardPNG image
  • Screenshot 2026-09-18 at 9.03.19 AM.png2026-09-18 0903 Sign-in Failed 403.pngerrorbrowserPNG image
  • Screenshot 2026-09-17 at 3.20.44 PM.png2026-09-17 1520 Pin Base Images.pngcodebrowserPNG image
  • Screenshot 2026-09-17 at 11.30.52 AM.png2026-09-17 1130 DNS Lookup Failure.pngterminalerrorPNG image
  • Screen Recording 2026-09-16 at 10.26.44 AM.mov2026-09-16 1026 Deploy Thread.movchatQuickTime movie
  • Screenshot 2026-09-14 at 3.41.07 PM.png2026-09-14 1541 Cloud Billing Console.pngdashboardbrowserPNG image
6 screenshots · 6 never nameddate first, so sorting by name is sorting by time
ShotScribe
The ShotScribe window: the newest capture renamed to Halyard API Keys, tagged settings and dashboard, with its original name and a Restore link underneath

The real app, with demo data. Every name comes with a way back.

How it works

Four steps. Three of them never leave your Mac.

01

Watch

New captures are picked up from your macOS screenshot folder. Screen recordings too.

on this Mac
02

Read

Apple's on-device Vision OCR pulls the text out. The picture itself goes nowhere.

on this Mac
03

Title

The text goes to the titler you picked, for two or three words back.

your AI, or nowhere if you pick offline
04

File

Renamed from a template you control, tagged from a list you control, indexed for search.

on this Mac
Features

Built for people who take dozens of screenshots a week.

macOS names every capture after the second it was taken. A month later you remember a billing console. The filename remembers 3.41.07 PM.

Named as it lands

Only macOS default capture names (Screenshot …, Screen Recording …) are touched, in any language.

A file you named yourself is never renamed

Your AI, your login

It drives the assistant you are already signed in to: Claude Code, Codex, Gemini CLI, Cursor, or Ollama on this Mac.

No API keys shipped, no account

Filed with Finder tags

Up to two per capture from a fixed list you control. A screenshot never gets to invent a tag of its own.

Works in Finder and Spotlight without ShotScribe running

Search what it said

shotscribe find "NXDOMAIN" searches the text on the screenshot. A three-word title is a thin hook a month later.

One local index, readable by your user only

Tools for your assistant

An MCP server with four tools, a /screenshot skill for Claude Code, and "Rebuild as code" for turning a capture into a diff.

No network listener; it never calls a model itself

Scored titles

shotscribe eval re-titles the captures you already kept. A prompt change gets a number instead of a feeling.

Your own folder is the test set
Quickstart

Running in a minute.

  1. 1

    Download the DMG

    From the latest release. Developer ID signed, notarized and stapled, so macOS opens it without a warning.

  2. 2

    Drag it to Applications

    It lives in the menu bar. If your captures land on the Desktop, macOS asks once for folder access.

  3. 3

    Take a screenshot

    Press ⌘⇧4 as you always do. Auto-rename is on from the first launch; the switch is on the Rename tab.

zsh
# what would it call this one? renames nothing
$ shotscribe label "~/Desktop/Screenshot 2026-09-18 at 9.41.07 AM.png"
  Halyard API Keys
  tags: settings, dashboard

# watch the folder macOS saves to
$ shotscribe watch
  shotscribe: watching ~/Pictures/Screenshots  (Ctrl-C to stop)

# search what your screenshots said
$ shotscribe find "NXDOMAIN"

# give your assistant the same engine
$ claude mcp add shotscribe -- /path/to/shotscribe-mcp
Edit with ShotScribe

Redact it before it leaves your Mac.

Its own editor, for the things people do to a screenshot before sharing it.

The editor: three API keys pixelated, a lavender frame, and an audit stamp listing captured and attested times, the machine and a SHA-256 digest

Pixelate or black out

Keys, e-mails, account numbers. Text under it can't be read back.

Frame it

A margin, a shadow, and a gradient or a picture behind it.

Sign it

An audit stamp: your name, capture time, save time, the Mac, and a SHA-256 of the original pixels that an auditor can check.

Mark it up

Arrows that bend, step numbers, highlights, crop, resize. Edits stay editable.

Hidden areas can't be undone after Save

The app's own warning. It means it.

Whose AI is it?

Yours.

ShotScribe ships no API keys and has no account of its own. You pick who titles a capture, and the app, the CLI and the watcher all honour the same choice.

TitlerWhat it drivesWhere the text goesOn whose terms
Claude Codedefaultclaude CLI, tools disabledAnthropic, on your subscriptionyour login
Codexcodex exec, read-only sandboxOpenAI, on your loginyour login
Gemini CLIgemini -p, sandboxedGoogle, on your loginyour login
Cursor Agentcursor-agent -pCursor, on your loginyour login
Ollamaollama run <model>Nowhere. The model runs on this Mac.on this Mac
An endpointany OpenAI-compatible /chat/completionsThe endpoint you name; a local one keeps it hereyou decide
Other CLIllm, aichat, mods, a team scriptWherever it sends ityou decide
Offlinethe keyword titlerNowhere.on this Mac

Every preset ships with the flags that stop the tool from acting on the text, because what is on your screen is not always text you wrote.

What it touches

A small tool with a sharp edge: it renames files.

So here is all of it before you install. Removing it takes five lines, and renamed files keep their names.

Only default names

Anything you or another tool named is left alone, unless you pass --force.

Never overwrites

If a name is taken it adds (2), then (3). The app keeps the original name, and Restore puts it back.

One local index

~/.shotscribe/index.json, readable by your user only. Treat it like the screenshots it describes.

Notarized, not sandboxed

Signed under a Developer ID and notarized by Apple. No telemetry; the only network code is the endpoint titler, and only if you choose it.

ShotScribe · the same folder, a week later
The same folder in list view: twelve date-first names, each with its Finder tags, under a strip of tag counts

Make your screenshot folder readable.

Drag ShotScribe to Applications and take your next capture.

Apple silicon and Intel, macOS 13 or later · free and open source