• macOS 14+
  • Windows 10/11
  • MIT
  • no account · no telemetry
  • MCP for your agents

Screen capture for the agent age.

An open-source screenshot and screen-recording app for macOS and Windows. Command+Shift+C, drag a region, and it's on your clipboard before the toast finishes animating in. Annotate, blur, trim, and organize in a Library that never re-orders itself behind your back. Optional AI runs through an agent you already have or an endpoint you choose. Your agents reach the Library over MCP. No account, no telemetry, no PwrSnap cloud.

Not sure which Mac? Apple silicon is the one for an M-series machine, and the smaller download; Universal runs natively on Intel and Apple silicon both. macOS 14 Sonoma or later · Windows 10 or 11.

brew install --cask pwrdrvr/tap/pwrsnap

Free · MIT · all releases & notes · built by PwrDrvr LLC

The PwrSnap Library in the dark theme. The sidebar counts captures by type and by the app each one came from — Code, Google Chrome, Notes, Pages, PwrGit, Safari, Terminal. The grid groups the day's snaps by time: a recording, web pages, notes, code, and a storefront dashboard, which is selected. Its details fill the right rail: the title “Crunch Co. storefront performance — week 41”, a description, the export filename, the tags dashboard, ecommerce and sales-performance, and Low, Med and High copy buttons.
Every capture grouped by day and by the app it came from. The right rail holds the title, description, filename, and tags — drafted by AI when it is on, typed by you when it is not.
Quick Capture over a desktop with three overlapping windows: meeting notes, a terminal with a failed build, and a storefront dashboard in a browser. The pointer is over the dashboard, which is outlined in orange with a label reading Google Chrome · 780 × 368; the windows behind it are dimmed. A hint bar along the bottom reads: click pick Google Chrome · Shift full window · drag region · tab next window · Return capture · R record · C rec cursor: on · esc cancel.
Hover a window to take it, or drag a rectangle. Return snaps, R records the same selection.
The editor on a kanban board titled Spring catalogue launch. A hand-drawn orange circle rings a card about a shipping-zone error, a yellow marker stroke covers another card, and two green check marks sit in the Done column. The Draw tool's property bar along the bottom offers pen, marker, airbrush and eraser, a row of colours, and stroke weights.
Pen, marker, and airbrush strokes are layers like arrows and shapes are. The eraser cuts strokes; the image underneath is never touched.
A capture of a delivery-zone form selected in the Library, with a red error banner and a red arrow labelled Split this range? pointing at the postal code field. The right rail shows a drafted title, description, export filename and three suggested tags, each marked as a draft with a Use button, above Regenerate and an Auto-apply checkbox.
With AI on, each capture gets a drafted title, description, filename, and tags. Nothing is applied until you say so.
A recording of a documentation page open in the Library. Below the video, the timeline shows a filmstrip over an audio waveform with two kept parts after Cut idle, 17.5 seconds of 23.3. The right rail lists GIF and MP4 exports at Low, Med and High with estimated sizes, and a microphone toggle on the MP4 row.
Recordings live beside your stills. Split, cut, or let Cut idle drop the stretches where nothing moved, then export GIF or MP4.
The Sizzle reel composer for a project named Spring catalogue launch. A preview and a Render button sit above a timeline of four clips taken from the Library, with the scene's narration script below it and the reel composer chat panel on the right.
Turn captures and clips into a narrated reel: a timeline, a script, and a chat agent that can draft both.

Features

Everything a capture tool should do. Nothing it shouldn't.

The fast path stays fast — capture, copy, paste — and the rest of the app earns its place behind it. No upsell tier, no "pro" features behind a login.

  • Command+Shift+C → clipboard, in a second

    Hit the shortcut, pick what you want, release. The float-over toast in the corner has the capture ready to copy at Low, Med, or High size, to annotate, or to drag out as a file — into Slack, a PR, a Finder window, wherever you already were. No editor grabbing focus, no "save as" dialog.

    That toast is the whole fast path. Three sizes, priced in advance so you know what you're pasting; a FILE chip on each to drag the real file out; title, description, and tags waiting if you want them. The copy keys are live the moment the toast appears, while any AI is still reading. The fast path never waits on AI.

    Your recent captures run down the side, one click from being copied again. When the toast's countdown ends, the capture tucks into a tab on the screen edge until you dismiss it — and that tab is never in your next screenshot.

    PwrSnap's float-over toast after a capture of a storefront dashboard. The header reads “Snap captured, 2,400 × 1,040” with a close button, then a preview of the capture and a 2× retina badge. Below it three copy cards — Low at 800 × 347 and 62 KB, Med at 1440 × 624 and 155 KB, and High at 2400 × 1040 and 127 KB — bound to Command+1, Command+2, and Command+3, each with a FILE chip for dragging the file out. Under those, the title “Crunch Co. storefront performance — week 41”, a description, the tags dashboard, ecommerce and sales-performance, an Auto-apply checkbox, and a footer showing the capture saved to ~/Documents/PwrSnap with Dismiss and Edit buttons. Down the left, a Recent rail of earlier captures, each thumbnail stamped with its age.
  • Grab whole windows — and nothing between them

    Drag a rectangle if you want one. Or skip the dragging: hover a window and the selection snaps to its edges, Tab walks to the one buried behind it, and a click adds a second window to the same shot. The space between the windows you picked stays transparent — two panels land as two panels, not as two panels and a slab of your wallpaper. Press T when you do want the whole box, background and all.

    Nothing commits until you say so. A rectangle you draw freezes with handles first, so you can nudge it a pixel at a time, and the hint bar along the bottom always names the key that does the next thing. Then choose what this one is: Return takes the still, R records it as video instead — one rectangle at a time, with the cursor, your microphone, and the system audio each a single keystroke away. One shortcut covers both. There's no second chord to remember.

    PwrSnap's capture selector with two windows picked at once on a desktop of three: a storefront dashboard in a browser and a terminal showing a failed build. Each is outlined in orange and numbered, 1 and 2, and a badge reads “2 windows · 1270 × 676”. The part of the selection box that belongs to neither window is drawn as a checkerboard, marking it transparent, and the notes window behind them is left out. A hint bar along the bottom reads “click add / remove window · T keep whole box · tab next window · Return capture · R record (one rectangle only) · Escape back”, above a control bar with Windows and Rectangle modes, a chip for each picked window, and Capture and Record buttons.
  • Video: record, trim, export

    Record a region or window with a countdown, a tangerine frame around what's being captured, and a tray indicator while it's live. On macOS, bring in your microphone, the system audio, or both, with live input metering and a plain-language prompt when a permission is missing.

    The same toast that catches a still catches a take. Drag the two handles on the filmstrip to keep the part that matters, then copy it out as a GIF or an MP4 at one of three sizes — priced before you click, and re-encoded so a typical export lands 50–70% smaller than the raw recording. Want to go finer? The Library's timeline pairs the filmstrip with a waveform, steps frame by frame, splits a take and cuts sections out of it, and Cut idle removes the stretches where nothing on screen moved. Microphone and system audio are separate switches on every MP4 export, so a mic you forgot was on doesn't ship.

    PwrSnap's float-over after a five-second recording. The header reads “Recording saved, 1,440 × 960 · 5.0s” beside a Screen badge, then a preview playing at 0:03 of 0:05. Below it, a filmstrip of the take with two orange trim handles dragged inward and a line reading “TRIM 0:01.7 – 0:03.6 · 1.9 S” next to a FULL CLIP button. Under that, two rows of export cards: GIF at Low 480 × 320 about 860 KB, Med 540 × 360 about 1.7 MB, and High 720 × 480 about 3.8 MB, bound to Command+1 through Command+3; then MP4 at Low 720 × 480 about 466 KB, Med 1080 × 720 about 1.1 MB, and High 1440 × 960 about 1.4 MB, bound to Command+4 through Command+6 — each with a FILE chip for dragging the file out. A filled-in title and description sit below, with tags and an Auto-apply AI enrichment checkbox.
  • Annotations are data, not pixels

    Arrows, shapes, text, highlights, freehand pen, marker, and airbrush, three kinds of blur (Gaussian, pixelate, and solid redact), crop, rotation, and editable image and cursor layers — even the captured cursor is its own layer. Everything lives as a layer you can move, re-color, reorder, or delete later without touching the rest — the source image on disk is never modified. Stroke and text sizes scale with the capture, so a call-out drawn on a 5K retina shot doesn't look like a hairline.

    Dock the toolbar to any edge of the canvas, or leave it floating. Need a second version for a different audience? Duplicate makes an edited copy, and the Library keeps the copies together as a family.

    PwrSnap's editor with its toolbar docked to the left edge, on a capture of a delivery-zone form. The zone name field is covered by a solid black redaction, and a red arrow runs from a text label reading “Split this range?” to the postal code ranges field, which shows an overlap error. The toolbar's text options — colours, font size, weight, and border — sit below the tool buttons.
  • A Library that never loses your spot

    Every capture lands in a day-grouped grid; flip to Reel to page through recents, or Focus to edit. Opening something never re-orders your history or scrolls you away.

    The rail down the left keeps a live count of everything you have and every app it came from, with that app's own icon next to it. Stack the filters — include, exclude, or only — then search across titles, descriptions, tags, the title of the window you grabbed it from, and the text on screen. Collect a working set in the project cart and drag it out or export it as a ZIP. Move to a new machine and the exported bundles import straight back in, edit history intact.

    PwrSnap's Library sidebar beside the capture grid. The rail lists All Captures with 1,318, Today with 25, and Trash with 0; then Types — Images 1,292, Videos 20, Projects 6 — and a New Sizzle Reel button. Below that a Source app list, each row carrying that app's own icon and a count: 1Password, Activity Monitor, App Store, Claude, Clipboard, Code, Codex, Electron, Finder, Ghostty, GitKraken, Google Chrome, Lark, LINE, Messages, PwrAgent, PwrGit. To the right, today's captures in a day-grouped grid, each thumbnail labeled with the app it came from.
  • AI, only if you want it, through what you already use

    Optional, off by default. When you turn it on, each new capture gets a quiet pass that drafts a title, a one-line description, a tidy filename, a few tags, and the text it can read off the screen. Accept, reject, or regenerate — it's a draft, not a decision.

    It runs through an agent CLI already on your machine — the Codex CLI, or an ACP agent such as Gemini CLI, Qwen Code, Kimi Code, or Grok — billed to the plan you already have. Or add a direct connection to an API you choose: OpenAI Responses, any Chat Completions-compatible endpoint including a model server on your own machine, or Anthropic Messages. A key you add is encrypted by the operating system and never shown again. No PwrSnap account, no PwrSnap server.

    Open Chat beside a capture and ask about it, or ask it to draw the arrow, redact the token, crop, or tag — it edits the layers for you, as real layers you can nudge or delete like anything you drew by hand.

    A storefront dashboard capture open in the Library with the Chat panel beside it. The request asks for an arrow pointing at the average basket drop and a box around Pacific Northwest in the top regions list. Below it, the steps the agent took — Read capture details, Looked at the canvas, Drew an arrow, Drew a rectangle, Looked at the canvas — and its reply. On the capture, a red arrow points at the 1.4% drop under Avg. basket and a blue box outlines Pacific Northwest.
  • New in 1.1

    Sizzle reels from the captures you already have

    Pick a handful of screenshots and clips, write a short script — or let the Sizzle chat agent draft and arrange it — and PwrSnap assembles a narrated reel: scenes, beats timed to the narration, transitions, and an MP4 render you can post. Preview each scene against its waveform, trim clips by dragging, and see the render length before you commit. Narration is synthesized with an OpenAI text-to-speech key you add in Settings.

  • New in 1.1

    Your agents can use your Library — over MCP

    PwrSnap runs a local MCP server so PwrAgent and other agents on your machine can search the Library, pull a capture into a conversation, ask for an edit, or build a sizzle reel — without reading PwrSnap's files directly. Access is off until you enable it. Each agent goes through a native consent step and gets a named, revocable session with a role, a permission boundary, a capture-history horizon (last 7 days, 30, 90, a year, all), and usage budgets. Originals are a separate permission from composites, so a redaction stays redacted.

    Settings → Local Agents draws the whole arrangement as one picture: every session on the left, the role it holds in the middle, and exactly which permissions that role grants on the right. Click a session and its path lights up end to end. Six roles ship built in, from Search Only to Full Access — duplicate one to make your own. Revoke a session and its line goes dashed, straight to Rejected. Claude Code and Codex connect through the same approval window with their own built-in OAuth support — no helper to install.

    PwrSnap's Settings, open to Local Agents, drawn as three linked columns. On the left, Sessions: Claude Code, active, holding the Full Media role, and Codex CLI, active, holding Search + Previews, each with a role picker and a Revoke button, above a red Rejected box reading “Revoked or invalid role”. In the middle, the six built-in PwrSnap roles, each with its history limit, permission count, and a Duplicate button: Search Only, Search + Previews, Full Media, Image Editor, Sizzle Producer, and Full Access. On the right, Permissions & Limits: a History row reading Last 30 days, then Search library, Read edited previews, Read original images, Export captures, Edit images, Move to Trash, Compose Sizzles, Read Sizzle previews, and Read full Sizzles. The Claude Code session is outlined in orange, and a lit path runs from it through Full Media to the four permissions that role grants — Search library, Read edited previews, Read original images, and Export captures — while the rest stay unticked.
  • Free, open-source, and the author's daily driver

    MIT licensed, one contributor, no investors, no subscription. Signed and notarized on macOS, Authenticode-signed on Windows, with in-app updates on a Stable or Beta channel. The source is on GitHub — fork it, send a patch, or just read how it works. Same philosophy as its sibling, PwrAgent.

Privacy

Nothing leaves your machine unless you say so.

There is no PwrSnap cloud. Captures are files in your Documents folder. The Library index is a local database. Annotations live next to the image they belong to. On a fresh install with AI off, the only network traffic is the update check against GitHub.

When you do turn AI on, the request goes where you sent it: through an agent CLI on your machine to the provider it is already set up with, or straight to the API endpoint you configured. Background enrichment gets the image and nothing else — no tools, no file access, no network of its own.

What leaves your machine
DataWhere it goesDefault
Captures, edits, Library Nowhere. .pwrsnap files in Documents/PwrSnap, visible in Finder or Explorer, plus a local index database. Back them up with any tool you already run. Never leaves
Update check A plain HTTPS request to GitHub's release feed, on launch and about once an hour. No account, no device ID. GitHub only
AI enrichment & chat Through the Codex or ACP agent on your machine to the provider it's configured for, or directly to an API endpoint you add. Keys you add are encrypted by the operating system. PwrSnap runs no server. Off until you consent
Sizzle-reel narration Text-to-speech via an OpenAI API key you add in Settings, only when you preview or render a narrated reel. Off without a key
Agents over MCP Loopback (127.0.0.1) only. Every agent gets a named, revocable session with a role, a history horizon, and usage budgets. Off until enabled
Telemetry, analytics, crash reports None. There is no PwrSnap server to send them to. Never

Install

Up and running in a minute.

Signed builds for macOS and Windows, straight from GitHub Releases. Pick your platform; step-by-step setup lives in the docs.

  • macOS

    • Two builds: a native Apple silicon one for M-series Macs, and a universal one that runs natively on Intel and Apple silicon alike. Unsure? Take universal.
    • macOS 14 Sonoma or later.
    • Developer ID-signed and notarized by Apple: first launch is one double-click, no right-click workaround.
    • Drag to Applications, grant Screen Recording once, press Command+Shift+C.
    • Updates arrive in-app; brew upgrade --cask pwrsnap works too. Apple silicon Macs are handed the Apple silicon build from then on.
  • Windows

    New
    • x64 installer for Windows 10 and 11.
    • Authenticode-signed by PwrDrvr LLC — SmartScreen sees a known publisher.
    • Per-user install into %LOCALAPPDATA%\Programs\PwrSnap; no admin prompt. Then press Ctrl+Shift+C.
    • Still capture, screen recording, the Library, and the editor are all there; a few macOS-only pieces (audio tracks in recordings, Finder Quick Look) are tracked in the docs.
    • Checksums ship next to every release as PwrSnap-windows-SHA256SUMS.
  • Linux

    Not yet
    • Every release builds on Linux as a CI gate, but there's no packaged download yet.
    • Watch GitHub Releases or the repo for when that changes — no timeline promised.

Want what's next before it's stable? In the app: Settings → Updates, then pick Beta, or a Prerelease track. Older versions, release notes, and checksums live on GitHub Releases.

FAQ

Things you might ask.

  • Do I need an account?

    No. Download, install, capture. There is no sign-up, no license key, and no PwrSnap server to sign in to. The optional AI features use an agent sign-in you already have, or an API key you add; the optional MCP server is authorized per agent, inside the app.

  • What does the AI cost? Do I need an API key?

    Capture enrichment (titles, descriptions, filenames, tags, OCR) and the Library and Sizzle chat agents go through the Codex install on your machine — or an ACP agent CLI you already use, such as Gemini CLI, Qwen Code, Kimi Code, or Grok — and are billed to whatever plan you already have with that provider. If you would rather call an API directly, add a connection with your own key: OpenAI, Anthropic, OpenRouter, or a Chat Completions-compatible server, including one on your own machine. PwrSnap adds no account of its own. With AI off, everything else works.

    The one exception is sizzle-reel narration, which synthesizes speech through an OpenAI text-to-speech key you paste into Settings. It's only used when you preview or render a narrated reel.

  • Can my coding agent use my screenshots?

    Yes — that's what the MCP server is for. Turn it on in Settings, and PwrAgent or any local MCP client can search your Library, fetch a capture, request an edit, or assemble a sizzle reel. Each agent goes through a consent step in PwrSnap and gets a named session you can revoke, with a role that bounds what it may do, a capture-history horizon, and usage budgets. Access to unredacted originals is a separate permission from the composite you see on screen.

  • Where do my captures live? Can I sync or back them up?

    Each capture is a single .pwrsnap file in Documents/PwrSnap — the original image or video and every layer you've added, together. On macOS, Finder shows Quick Look previews of them without launching the app. Because they're ordinary files, Time Machine, iCloud Drive, or any folder-sync tool backs them up like anything else in Documents. The Library's search index is a local database next to the app data; Library → Export Library… writes a complete, restorable backup of both.

  • How do updates work?

    PwrSnap checks GitHub's release feed on launch and about once an hour, downloads in the background, and offers a one-click restart to install — from the tray or from the capture toast, wherever you happen to be. Background checks stay silent; a check you asked for shows its progress and can be cancelled. Pick a Stable or Beta train, Latest or Prerelease, in Settings → Updates; a manual check can also walk you back to Stable if you installed a beta by hand, and a Beta install keeps receiving a promoted stable build until the next prerelease appears. Apple silicon Macs are handed the Apple silicon build from the first update onward. Homebrew users can brew upgrade --cask pwrsnap; both paths land the same signed build.

  • Is the Windows version the same app?

    Same code, same Library format, same editor — with Ctrl+Shift+C standing in for Command+Shift+C. The Windows port is the newest part of PwrSnap: still and video capture, the Library, annotation, the chat agent, copying images, GIFs, and MP4s to the clipboard, and the signed installer are all there. A few pieces are still macOS-only — audio tracks in screen recordings and Finder Quick Look previews, mainly. The docs keep the current gap list.

  • Is it really free? Who's behind it?

    Free and MIT-licensed, with the full source on GitHub. PwrSnap is built by PwrDrvr LLC — one author who uses it every day — alongside its sibling, PwrAgent. No investors, no upgrade tier, no plan to add one.

Something else? Ask on Community Support — the Q&A board where questions get answered in public, so the next person finds the answer too. Found a bug? Open an issue. Or say hello to @pwrdrvr.