Skip to content

Made for Mac. Send yourself the link and pick it up there.

The context shelf for developers

Capture context. Keep moving.

A prompt worth keeping. The command that finally worked. A code block, a doc page, a post whose picture is the point. Refetch holds the fragments you deliberately saved and gives them back in one keystroke.

Free for 14 days · $19 once · macOS 26.4 or later · Apple silicon

VSave the clipboard from anywhere, without leaving the app you are in.

The Refetch capture window with a code capture open in the native inspection popover

Measured on this build

  • 26.01 ms cold highlight
  • 10.24 ms filter and sort at 10,000 items
  • 37.29 ms search
  • 115.52 MB resident

The core loop

Save it now. Recognize it later.

  1. 01

    Capture

    One gesture from anywhere. The item is committed locally before any network work starts.

  2. 02

    Recognize

    A type-aware row with the smallest preview that makes it recognizable in a second.

  3. 03

    Inspect

    Click the row or press Space. The native popover opens beside it and edits in place.

  4. 04

    Reuse

    ⌘C returns the original payload. Nothing is rewritten, nothing is guessed.

What it does

Nine things that ship today.

Hover or focus a card to run it

Deliberate capture

Nothing is recorded in the background. You hand Refetch the thing you want, and it is committed to disk before any enrichment starts.

Nothing saved

Copy something useful and press the gesture, or type a note below.

Save a prompt, link, command, or note

Seven types, recognized on sight

Every capture is classified locally the moment it lands, and each type earns the smallest preview that makes it recognizable.

Prompt
Link
Code
Command
Text
Image
Video
gi

Sparkle 2 appcast signing

EdDSA signatures are verified against the downloaded bytes before anything installs.

github.com · 2 days ago

Inspection in a native popover

Click a row or press Space. A real AppKit popover opens beside it, edits in place, and never touches your clipboard just for looking.

Cancellable actor work

Visible rows request bounded work and cancel what scrolls away.

Swift · yesterday

Cancellable actor work

const snapshot = await evaluate(trial)if (!snapshot.allowsCapture) return
Space

Highlighting that knows when to stop

Shell, Swift, JavaScript, TypeScript, Python and JSON are highlighted from explicit metadata or conservative detection. Anything else stays readable monospace.

TypeScript

const snapshot = await evaluate(trial)if (!snapshot.allowsCapture) return

Unknown language fallback

set -euo pipefailtrap cleanup EXIT

Highlighting is a recognition aid. The copied payload is always the original text.

200 previews · 26.01 ms cold · 5.13 ms warm

Search, filter, deterministic sort

Search runs off the main actor and cancels itself. Filter and sort live in the toolbar, so the rows never grow controls they do not need.

re

Native popover presentation latency

136.97 ms open, measured with real synthetic mouse input.

getrefetch.com

Installer background, balanced

1320 x 840, sRGB, no alpha.

Image · last week

10,000 items · 37.29 ms search · 10.24 ms filter and sort

Copy is always explicit

Inspecting an item never writes to the pasteboard. Copy happens through the row action or the keyboard, and the checkmark waits for the write to succeed.

Notarize and staple

xcrun notarytool submit --wait, then stapler staple

Shell · 4 days ago

Release checklist

Gatekeeper, privacy scan, appcast signature, then the DB row.

Text · 4 days ago

Copied. The pasteboard write is confirmed before the checkmark appears.

C

Active, pinned, archived, deleted

Four states, no completion circles. Captures are resources you keep, not obligations you clear.

ap

Human Interface Guidelines, materials

Liquid Glass is an accent, not a reason to make everything glossy.

developer.apple.com

Quarter Lift, white on near-black

1024 pt master export.

Image · 3 days ago

Archived captures stay saved and searchable. Pinned ones stay first in their bucket.

Your own opening gesture

Pick a normal shortcut, or two taps of Shift. Refetch assigns no default for you, and the recorded shortcut stays available as the fallback.

Opening gesture

Shift twice
Recorded shortcutR

Input Monitoring granted. Your recorded shortcut stays as the fallback.

Appearance you can actually feel

Air between cards, padding, metadata fields, type tint and badges are all yours to set. The list geometry stays stable while you move them.

Appearance

Theme
Air between cards
Tint cards by type
Type badges

Explain this diff like a reviewer

Name the risk first, then the mechanism.

Prompt · today

Reset the simulator

xcrun simctl erase all

Shell · today

Recognition

A bare URL is not a memory.

Every capture keeps the identity that made it useful: the source it came from, the language it was written in, the image that was the whole point. Real screenshots, unedited.

Keyboard

Every action has a key path.

Focus moves in the order you would guess, and Esc unwinds one layer at a time: the popover first, then the selection, then the window itself.

Capture

Save clipboard directlyV
Paste into the composerV
Save the composer draft

Library

Copy hovered or selected itemC
Open the inspection popoverSpace
Open detailsI

Window

Close the popover, then hideEsc
Settings,
Text scale up, down, reset+0
The keyboard reference shown inside the Refetch app
The same reference, inside the app

Speed

Measured, not claimed.

Every number on this page comes from a deterministic 10,000-item library and media benchmark that runs on every change. They are budgets the build has to keep passing, not a marketing claim.

10.24 ms

Median filter and sort across 10,000 captures

37.29 ms

Search across the same library

26.01 ms

200 syntax previews, cold. 5.13 ms warm.

115.52 MB

Resident memory at the end of the run

What it is

  • Saved because you chose to save it
  • Recognizable in one or two seconds
  • One slim column, pinned to the bottom composer
  • Originals authoritative, caches disposable

What it is not

  • A todo list with things to complete
  • A passive clipboard history
  • A read-later service or bookmark manager
  • A second brain that demands inbox zero

Local-first. No account. Nothing leaves your Mac unless you ask.

On your disk

Captures, the authoritative files behind them and every regenerated preview live in Refetch's own folder on this Mac.

Nothing to sign into

No account, no sync, no telemetry, no analytics. There is no server holding a copy of what you saved.

Only what you saved

Link enrichment contacts the page you captured, after the URL is already stored. Rendering a page is an explicit per-capture action, never automatic.

Questions

The ones worth answering.

Release

Refetch 1.0

16 August 2026 · build 2 · 4.76 MB

macOS 26.4 · Apple silicon

Updates through Sparkle

  • Clipboard, rich text, HTML, image and typed-note capture
  • Local type classification into seven kinds
  • Asynchronous Open Graph and Twitter Card enrichment
  • Native popover inspection with in-place editing
  • Detail sheet plus pin, archive and delete
  • Cancellable off-main search, filter and sort
  • Dependency-free syntax highlighting with a plain fallback
  • Native tabbed Settings with launch at login and text scale
  • Configurable global gesture with the Shift-twice option
  • JSON import and export with media integrity checks

Put useful context back to work.

Free for 14 days, then $19 once · version 1.0 · macOS 26.4 or later · Apple silicon

 Download for macOS