Screenshot and Screen Recording made for AI.

Stash is a MacOS screenshot tool that performs radically better by providing better context for Claude Code, Codex, Grok and Gemini.

Apple Screenshot Snagit · CleanShot · every other tool
Claude Code session
The login button text is missing.
I can see your login form — email field, password field, and what looks like empty space at the bottom of the card. If that's where a button should be, it might not be rendering. Could you share the button component code and confirm it's being mounted for affected users?
Stash screenshot ships with context
Claude Code session
The login button text is missing.
From the context banner I can see you're on macOS 15.3, dark mode. Your red arrow points at the "Sign in" button — which is rendering, but has fill: #0A1628 on a #1E293B card. In dark mode those luminances are nearly identical — the button is there, just invisible. Users in light mode wouldn't see the issue. Fix:
// Login.tsx
<button className="bg-blue-600 text-white">
  Sign in
</button>
The screenshot

What the AI actually sees.

Every other screenshot tool outputs a plain PNG, and any metadata those apps try to embed gets stripped by the LLM before the agent ever reads it. Stash composites an AI Context Banner onto every capture (app, window, OS, display, 8-character capture ID) and embeds an XMP metadata payload plus an accessibility tree inside the PNG. Agents like Claude Code, Cursor, and ChatGPT read structured data — they aren't limited to guessing from the pixels. If you vibe-code, nothing else ships a capture your agent can read.

Nimbus cloud notes, synced Welcome back Sign in to sync your notes Email you@cloud.app Password •••••••••• Sign in Forgot password?

Normal screenshots just see pixels and do not give LLMs the full picture, leaving you frustrated. With Stash, AI sees: app, OS, dark mode, capture ID, and a user-drawn arrow as structured metadata. Claude can diagnose the dark-on-dark bug and ship the fix.

02 · Recordings

And with video? Your AI can't open the file.

Every Stash recording is two things at once: a one-click shareable video link you can paste into Slack, a PR, or a bug report, and an AI Capture Report bundle — a structured markdown timeline (voice transcript, clicks and scrolls with coordinates, clipboard copy events, app and window focus transitions, detected toasts and stuck spinners) plus up to 30 interaction-anchored key-frame images. LLMs can't read an MP4; Stash turns every recording into a bundle they can.

Recordings/a7f3c9e4.../ · 5:30 session
├──report.md22 KB · timeline + transcript + interactions
├──llms.txtagent-facing instructions
├──frame_tags.jsonper-frame metadata
├──frame_01.jpg … frame_30.jpgkey frames, labeled
├──audio.m4aextracted audio track
└──video.mp4ignored by LLMs
Agents read report.md first, walk the timeline, and fetch only the frames they need. Token-optimized — a full 5:30 session costs ~6–10K tokens plus 1–3K per frame the agent reads.
report.md · 2,222 interactions protocol: stash-1
0.0sfocusWarp · "Initialize project context"
12.4sclick(482, 314) "main.ts:42"
29.7sscroll74 events · aggregated
81.7sfocusSlack · "#engineering"
175.8svoice"maybe it's the auth middleware…"
228.1sstuckspinner visible > 3s (may be stuck)
276.9sclipCopied: "promptfoo eval"
288.7sfocusClaude · "Debugging session"
301.2sclick(231, 560) "Paste" · retry
330.0sfocussession end · 30 frames captured
03 · Everything else

Not a Vibe Coder? Still the cleanest clipboard on your Mac.

Screenshot and annotate. Record your screen like Loom. Search every clip you've ever copied. Hotkey to paste the links, files, and prompts you paste every day. Every feature is useful on its own — the AI layer just makes each one sharper.

⌘J · ⌘L · ⌘⇧V

A hotkey for your favorite paste action

Stop hunting for the same prompts, links, and files every day. Your favorites are one keystroke away — pasted straight into any app, instantly.

Searchable history

Everything you copy, saved

Text, images, screenshots — all kept locally on your Mac. Filter, search, re-copy in one click.

04 · Privacy

Privacy First — your stash stays with you and only you.

Your clipboard, your screenshots, your bookmarks — all of it stays on your Mac. Stash doesn't sync, upload, or log any of it. And if a password or API key ever lands in your clipboard, Stash blanks it out before anything is saved.

Secret redaction at capture time

Secrets never hit disk

Clipboard text is scanned before it's saved. API keys, tokens, passwords, provider prefixes — all replaced with [redacted].

Clipboard — redacted before persistence
Local-first architecture

Local-first. Not local-only.

Clipboard, screenshots, bookmarks, and the full MCP dossier your AI reads — all local, all on your Mac. The one exception: videos you share go to our cloud briefly so your recipient can watch them, then auto-delete after 30 days. Anything that looks like a secret gets redacted before it ever persists.

  • Clipboard and captures stay localYour clipboard, screenshots, and bookmarks never leave your Mac.
  • Sensitive context expiresFile paths, app metadata, and terminal context clear after 24 hours.
  • Videos are the only thing that uploadsAnd they auto-delete after 30 days.
  • Accounts are for licensingWe don't track or analyze what you capture.
FAQ

The questions worth asking.

Every other screenshot tool outputs a plain PNG. Stash composites an AI Context Banner onto every capture (app, window, OS, display, 8-character capture ID) and embeds an XMP metadata payload plus an accessibility tree inside the PNG. Agents like Claude Code, Cursor, and ChatGPT read structured data — they aren't limited to guessing from the pixels. If you vibe-code, nothing else ships a capture your agent can read.
Yes. Every recording produces an AI Capture Report bundle — a structured markdown timeline (voice transcript, clicks and scrolls with coordinates, clipboard copy events, app and window focus transitions, detected toasts and stuck spinners) plus up to 30 interaction-anchored key-frame images. LLMs can't read an MP4; Stash turns every recording into a bundle they can.
Yes. Stash ships a local MCP server and auto-configures Claude Code, Claude Desktop, and Cursor with a one-line installer. Local socket only — no cloud relay, no network traffic. Other MCP clients (Windsurf, Zed, ChatGPT Desktop, Codex CLI) work with manual setup — see the stash-1 protocol. Agents query your captures via stash.list_recent, stash.search, stash.get_capture, and stash.get_bundle. Pressing ⌘⌃P also copies an enriched context string plus the file path for any terminal AI that reads images from disk.
Clipboard history, screenshots, and bookmarks stay on your Mac — never uploaded. Videos upload only when you click Share. Stash also redacts detected API keys and tokens (OpenAI sk-, AWS AKIA, GitHub ghp_, JWTs, PEM blocks) from clipboard text before anything touches disk. Sensitive capture metadata auto-purges 24 hours after capture by default.
macOS 14.0 (Sonoma) or later. Free during public beta.

Ship with screenshots your AI can read.

Free during public beta. Native Mac. Local-first. macOS 14 or later.

Download for Mac Install via CLI →