Documentation Index
Fetch the complete documentation index at: https://docs.screenpi.pe/llms.txt
Use this file to discover all available pages before exploring further.
week of june 1, 2026
new features
- copy button on chat code blocks — every fenced code block in a chat reply now has its own copy-to-clipboard button (keyboard accessible), so you can grab a single snippet without selecting it by hand.
- paste documents straight into chat — the chat composer accepts pasted document files (pdf, docx, xlsx, md, txt, csv, json, log, rtf, …) in addition to drag-drop, shows an inline extraction spinner while the text is pulled out, and surfaces a clear error if a file can’t be read instead of failing silently.
updates
- stronger, smaller text PII redactor — the on-device redactor that scrubs secrets (API keys, tokens, credentials) before AI sees your screen data shipped a new model: secret recall jumped from 0.83 to 0.96 on held-out providers, oversmash (false redactions) dropped from 34.5% to 6.8%, and the model is ~4× smaller (1110MB → 278MB INT8) at ~3ms p50. existing installs keep running the previous model until they update. see privacy filter.
- vocabulary badge reflects the real limit — the custom-vocab header used to show
n/1000while the detail view showedn/100. the badge, import flow, and toasts now all use the actual upstream cap, so you won’t think you have headroom you don’t.
bug fixes
- GitHub connection works again — every call through the GitHub integration was 403ing because the proxy sent no
User-Agentheader. GitHub now sees a proper UA + accept headers, so issues, PRs, and repo data load through the connection again. see connections. - mic capture starts the moment you grant permission, even during boot — if you clicked “Allow” on the microphone prompt before the recording backend had finished wiring up, capture stayed dead until you toggled it manually. the app now retries automatically while the backend is still coming up. see permissions.
- cleaner logs after unplugging a display — stale display IDs no longer flood the log with hundreds of
xcaperrors on macOS, so real errors are easier to spot in your feedback bundle. - starred pipes empty state — the pipe store now shows the right empty-state message when your “starred” filter has no matches instead of looking like everything was uninstalled. see pipe store.
- no more crash when ffmpeg is missing — audio recording and post-processing now return a clean error instead of panicking if a bundled or system ffmpeg can’t be found.
- “open team on the web” button works — the button in settings → team now opens screenpi.pe/team in your default browser instead of doing nothing. see teams.
- CoreAudio per-app capture crash fixed — fixed a use-after-free in the macOS Process Tap path that could SIGSEGV the audio engine during per-app system-audio capture. see meeting transcription.
screenpipe vault lockno longer races the running app — locking the vault from the CLI while the desktop app is open now delegates to the daemon (or refuses cleanly) instead of racing it and leaving the keystore half-locked.
week of may 31, 2026
new features
- OpenClaw connection — a new integration in settings → connections lets you wire OpenClaw into screenpipe alongside the rest of your AI agent gateways. see connections and the connection reference.
- per-field PII redaction toggles — a new “fields to redact” selector under settings → privacy → AI PII removal lets you choose exactly which categories get scrubbed before AI sees your screen data. Secrets (API keys, tokens) are always on; names, emails, phones, addresses, and other sensitive info are opt-in. default is unchanged (secrets only). see privacy filter.
- document attachments in chat — the in-app chat file picker and drag-drop now accept documents (pdf, docx, xlsx/xls, md, txt, csv, tsv, json, log, rtf) in addition to images. text is extracted client-side and folded into the outgoing turn so the model can read them, with the clean prompt shown in the bubble and the attached text expandable. works on every preset, with multi-file support.
- display labels for auto-sent chat prompts — pipe creation, pipe store fork/publish, speaker organize, and notification follow-up chats now show a clean source label on the prefilled prompt so it’s obvious where the conversation came from.
updates
- HD recording plays back at true constant frame rate — the HD recorder now produces a smooth ~10fps chunk regardless of how much is changing on screen or how fast your machine encodes, so playback no longer comes out sparse or sped-up on low-motion screens. timeline offsets and exports stay accurate to wall-clock time. see search screen history.
- team management moves to the web — the in-app Team settings section is now a thin card with an “open team on the web” button pointing at screenpi.pe/team for consumer accounts. enterprise builds hide the Team sidebar entry entirely — admins manage members, devices, workflows, search, and policies on the enterprise web console. see teams.
- content filter and pipe sharing UI cleanup — removed the “push to team” buttons, the all/personal/shared-with-team tabs, and the team-only filter views from settings → privacy and settings → pipes.
bug fixes
- Windows microphone no longer goes silent with echo cancellation on USB mics — fixed a regression where enabling echo cancellation on Logitech C922 and other USB mics on Windows would silence the input. mic capture stays live with echo cancellation on.
- no more duplicate chats from auto-sent prefills — fixed a cross-window race where the home window and the floating chat overlay would both run the same auto-sent prompt, producing two near-identical conversations. each intent now mints exactly one chat, and existing duplicates collapse to one row in the sidebar.
- vision capture recovers after an auto-update restart on a locked screen — if the app restarted while your screen was locked, macOS reported zero monitors and screen capture stayed dead until a manual restart. capture now retries automatically the moment you unlock.
- auto-update no longer crashes the speaker engine on restart — gated the auto-update restart on a boot-ready check so the speaker session can’t be torn down mid-init, fixing a SIGSEGV some users saw right after an update installed.
- fewer background crashes across app, engine, and AI gateway — retired five top Sentry issues, including a Gemini tool-schema enum coercion bug, a cost-tracker null-model crash, a keychain-decrypt failure that could overwrite the encrypted API key blob, recovery from a corrupted pi-agent package file, and noisy port-conflict reports from the engine.
week of may 30, 2026
new features
- per-app exclusions for system audio — on macOS 14.4+, you can now exclude specific apps (Stremio, password managers, anything sensitive) from the CoreAudio process tap without turning system-audio capture off entirely. manage the list from settings → recording. changes apply within a few hundred milliseconds — no restart needed. see meeting transcription.
- general meeting / time-range MP4 export — a new export pipeline renders a real-time MP4 with synced microphone audio for any meeting or arbitrary time window. available from the meeting note’s export button, the
screenpipe exportCLI (--meeting-idor--start/--end [--open]), andPOST /export(also wired into the MCPexport-videotool). see the CLI reference and the API docs. - AI-generated chat titles — new chats now get a concise, task-specific title from the first message, with safe fallbacks and live streaming across windows. renamed titles still win.
updates
- HD recording captures every change — turning on HD (high-FPS) mode now bypasses content deduplication for the duration of the session, so video, slide flips, and demo replays are captured densely instead of skipped when the accessibility tree doesn’t change. a static screen still won’t record duplicate frames. see search screen history.
- timelapse export retired in favor of real-time export — the legacy
/frames/exportroute (fixed-fps timelapse) is gone. every “export my last N minutes” path — chat agent, MCPexport-videotool, and the video-export pipe — now usesPOST /export, which produces a real-time clip with synced audio instead of a sped-up sequence of frames. see the API docs. - provider-aware error messages, with one-click report — connection and pipe-install failures now show a clear, provider-specific reason and a “report issue” action right at the error site, so you can flag a broken integration without digging through logs. see connections.
- simpler HD recording tray label — the menubar entry for HD is now just “Record HD” in the idle state; the active state still shows fps in parens.
- display labels in meeting and pipe chat prefills — when a meeting or pipe seeds a chat, the prefilled prompt now includes a clean display label for the source so the conversation starts with the right context.
bug fixes
- chat keeps full conversation context on every send — fixed a regression where chat could silently drop prior turns after the agent compacted, crashed, or auto-restarted, so the model occasionally replied as if the conversation just started. recent history is now re-injected on every prompt.
- meetings stay alive when the process scan briefly misses — a transient miss in the meeting-app process scan (browser-extension websocket drop, app relaunch, accessibility reflow) no longer ends an in-progress meeting if output audio is still playing; an already-ending meeting is revived in the same case. see meeting intelligence.
- microphone capture starts as soon as you grant permission — granting mic access (either in the in-app prompt or in System Settings) now reinitializes the audio pipeline automatically, instead of leaving you with zero devices until the next app restart.
- cron pipes run a missed slot when the app restarts late — if the app was closed across a scheduled cron tick, the pipe now runs once on next launch instead of silently skipping that slot. see pipes.
- queued chat follow-ups stay readable — queued messages now show their original text in the sidebar instead of the injected-history blob.
- MCP
update-meetingworks again — the MCP tool was sending PATCH where the server expects PUT; meeting updates from MCP clients now succeed. see MCP server. - clearer MP4 export errors — failed exports now show the full underlying reason (e.g. “no screen frames indexed for this range”) instead of a misleading top-layer message.
- preset name duplicate validation trims whitespace — leading/trailing spaces no longer let you save two presets with effectively the same name.
- chat sidebar polish — fixed a cyan stripe artifact when collapsing a section and the
⋯menu overlapping the hover time label. - transcription model downloads work on corporate networks — the model downloader now uses the system TLS store, so corporate root CAs (Zscaler, Netskope, etc.) are trusted and first-run model downloads no longer fail with cert errors.
week of may 29, 2026
new features
- Workflowy and Readwise connections — two new integrations in settings → connections let screenpipe pull your Workflowy outlines and Readwise highlights into chat and pipes alongside the rest of your context. see connections and the connection reference.
- OAuth login for MCP servers — bring-your-own MCP servers now support OAuth, so you can connect Linear, Notion, Atlassian, and other OAuth-gated MCPs from settings → connections without hand-pasting bearer tokens. see connections and MCP server.
- VS Code terminal capture — screenpipe now captures terminal output inside VS Code (xterm.js) and labels each terminal window with its session name, so commands and shell output are searchable just like editor text. see search screen history.
- bounded HD recording for meetings — meetings now record at higher resolution for the duration of the call and revert to your normal capture quality automatically when the meeting ends, so meeting screenshots stay legible without burning disk between meetings. see meeting intelligence.
- meeting search by title, attendees, and notes — the meetings list now supports a search box that matches titles, attendees, and notes, plus an explicit “show more” instead of infinite scroll. see meeting intelligence.
- automatic meeting detection toggle — a new switch in settings → meetings lets you turn auto-detection off entirely if you’d rather start meetings manually. see meeting intelligence.
- Claude Opus 4.8 in the model picker — the new Anthropic flagship is selectable in chat and the AI gateway auto waterfall.
- chat keyboard shortcuts — Cmd+N / Ctrl+N opens a new chat from anywhere, and Ctrl+Tab cycles through recently opened chats.
- multi-account Google Docs and Sheets — connect more than one Google account for Docs and Sheets; the account picker is now forced on every Google and Microsoft sign-in so you always land in the right workspace. see connections.
updates
- shorter onboarding — the encrypt-data step is gone (the local store is now encrypted by default) and the pipe step is a single default-checked bundle (digital-clone + personal-crm) instead of a 3-path picker. see getting started.
- pipes page toolbar — the pipes page chrome is collapsed into a single toolbar, with search, filters, and install all in one row. see pipes.
- gemini-3.5-flash at the top of the auto waterfall — the AI gateway now prefers gemini-3.5-flash for the default
automodel when latency and cost both matter. - SDK 0.4.2 with native bindings —
@screenpipe/sdknow ships native bindings across all supported platforms and the Swift mirror tags automatically on each npm publish. see pipes. App::Titlewindow scope documented in the SDK —RecorderOptionsandFilterPatchtooltips now describe theApp::Titlesyntax inline. see the CLI reference and privacy filter.
bug fixes
- automatic language detection works for non-English audio again — the transcription engine now respects the detected language instead of falling back to English for every recording.
- auto-merge no longer reopens meetings you stopped on purpose — if you explicitly end a meeting, a follow-up calendar block won’t silently re-attach to it. see meeting intelligence.
- recording no longer stuck on “Starting” after monitors change — stale monitor IDs (e.g. after unplugging an external display) no longer leave the engine in a perpetual starting state.
- system audio captured reliably when following system defaults — desktop app no longer drops system audio after the default output device changes.
- process-tap audio uses the aggregate device’s nominal sample rate — fixes silent or garbled per-app audio on macOS Core Audio aggregate devices.
- Windows: excluded apps are actually filtered from capture — apps in your exclude list were leaking into screenshots in some configurations; the filter now applies consistently. see privacy filter.
- screen-capture permission probe — on macOS, screenpipe now verifies real screen-capture access instead of trusting
CGPreflightScreenCaptureAccess, which lies after permission revokes. see permissions. - Intel-Mac Pi install — the “Bad CPU type in executable” error when installing Pi on Intel Macs is fixed.
- HTTP MCP sessions register after initialize — third-party HTTP MCP clients that send the initialize handshake before the first tool call now connect reliably. see MCP server.
- low-battery power transitions — a crash on very low battery (missing pause profile fields) and a bogus full-pause when only macOS Low Power Mode was on are both fixed.
- low-battery notification copy — the low-battery toast no longer mentions “whisper” specifically; it now matches whichever transcription engine you’re using.
- chat fixes — local file links and local media attachments render reliably, mid-tool-call assistant replies stay in one bubble when you switch windows, chat sidebar stays in sync across windows, switching chats no longer overwrites the new one with the old one, mermaid diagrams are readable in both light and dark modes, and pipe-run assistant turns are coalesced with the real work duration shown.
- timeline “open settings” button works again — the gear icon on the timeline overlay opens settings instead of doing nothing.
- first-launch crash fix — a React #185 boot crash on first launch is gone.
- chat preset stays where you put it — switching chat models no longer snaps the preset selector back to the default, and the same fix applies on send.
- newly-installed pipes don’t fire instantly — cron pipes no longer run a stale or just-installed schedule immediately on install; the next run waits for the real cron tick. see pipes.
- misleading “join and take notes” button removed — the in-progress meeting toast no longer shows a join button for meetings already in progress.
- search API accepts more bool formats — query params now accept
1/0/yes/no/empty in addition totrue/false. see API recipes. - clearer “not connected” vs multi-account errors — connections now distinguish a missing account from an ambiguous one (multiple accounts connected, no default), with an explicit account picker. see connections.
- Windows installer — bundled sidecars are stopped before NSIS updates so installs no longer fail with “file in use”, and SSL.com signing fails fast on quota errors instead of burning five retries.
week of may 25, 2026
new features
screenpipe searchCLI — query your local history straight from the terminal without the daemon running. Same flags and JSON shape asGET /search, so existingjqfilters work unchanged and AI scripts can read your data even when the desktop app is closed. see the CLI reference.screenpipe teamCLI for enterprise admins — three new subcommands (screenpipe team devices,screenpipe team search,screenpipe team records) let team admins query teammates’ history from any machine they’ve signed into, with no local daemon required. uses yourteam_api_tokenfrom~/.screenpipe/enterprise.json. see the CLI reference and teams.- Discord community link in the Help menu — jump straight into the screenpipe Discord from the in-app Help section.
updates
- macOS capture is much lighter on WindowServer and battery — screen capture width is now coupled to your
video_qualitysetting (low1280,balanced1920,high3840,maxnative) and the GPU does the downscale at source instead of reading back native-resolution frames. Biggest wins on external 4K/6K displays; default users on built-in laptop screens see no change. Text extraction quality is unchanged because screenpipe reads accessibility trees first. - pause states actually stop the OS from producing frames — when capture pauses (screen locked, critical battery, DRM-protected window, outside your schedule) screenpipe now releases the underlying capture stream instead of just sleeping the reader. WindowServer / replayd no longer keep composing frames for a sleeping consumer. Recovery on the next capture trigger adds ~200 ms one-time. see privacy data flow.
- smaller, faster on-device PII redactor — the text redaction worker now runs the v45 phase 3 ONNX INT8 model (~278 MB, 90.2% HIPAA, sub-10 ms p50) with CoreML / DirectML / CPU execution providers, replacing the previous 2.8 GB Candle model. First-run auto-downloads with SHA verification. see privacy filter.
- clearer memory sync status in connections — the “sync now” button in connections now pops a toast on click, shows the real outcome (wrote, unchanged, skipped) instead of a generic “synced”, and folds the file path + relative “Xs ago” timestamp into a single status card. see connections.
- canonical domain switch to screenpipe.com — desktop app and CLI website links now point to
screenpipe.com. Existingscreenpi.pe/join/...team invites still work, and API endpoints are unchanged. see teams.
bug fixes
- API auth key visible in Settings before the server finishes spawning — opening Settings → Privacy during the brief window between app launch and server start no longer leaves the API key field blank; it now falls back to the cached value and updates in place. see for developers.
npx screenpipe-mcp --httpnow works as documented — the README one-liner used to 404 because noscreenpipe-mcp-httppackage existed on npm. The--httpflag on the main package now routes to the HTTP server directly. see MCP server.- auto-restart toggle shortcut fixed — the keyboard shortcut for toggling auto-restart now fires reliably.
screenpipe://viewlinks open in the in-app viewer everywhere — deep links inside notifications, notification history, chat, and the viewer itself now all route through the same handler, so a link copied from a notification into chat opens the in-app viewer instead of falling through to the browser.
week of may 24, 2026
new features
- bring-your-own MCP servers — register custom HTTP MCP servers (Brave Search, Linear, Notion, internal company MCPs) from settings → connections and call their tools from pipes and chat. add a name, URL, and optional headers, test the connection, and toggle on. see connections and MCP server.
- SDK event stream —
@screenpipe/sdk(now 0.4.1) emits a stable set of events —start/stop,recording_started/recording_stopped,paused/resumed,app_switched,frames_progress,permissions_changed, anderror— across the Node, Electron, Tauri, and Swift bridges, so host apps can react to recording state and progress without polling. see pipes. - scoped window filters with
App::Title—ignored_windowsandincluded_windowsnow accept anApp::Titlesyntax:Slack::#hrmatches only the#hrwindow inside Slack,::Confidentialmatches that title in any app, and bare entries likeSlackkeep their original meaning. scoped includes whitelist one window without affecting other apps. see the CLI reference and privacy filter. - macOS VoiceProcessingIO microphone — opt in to Apple’s VoiceProcessingIO audio unit on your default mic for echo cancellation and noise suppression on meeting calls; falls back to the standard HAL path automatically if VPIO can’t start. see meeting transcription.
- aggressive low-battery tiers — auto power mode now pauses microphone capture at ≤20% battery and pauses all capture at ≤10%, then resumes when you’re back on AC — so a long unplugged session won’t drain you to empty. you’ll get a desktop notification on each downgrade.
updates
- Electron apps capture the full content tree — VS Code, Slack, Discord, Obsidian, and Notion previously lost deeply-nested content (terminal output, editor text, chat scrollback) because the macOS accessibility shell consumed most of the walk budget. the walker now resets its depth at each web-area boundary, so the full budget is available inside the app.
- macOS sample-rate handling for VPIO and USB mics — fixed sample-rate mismatches that could silently drop input from VoiceProcessingIO and some USB audio devices; the engine now retries on the standard HAL path when VPIO can’t open the stream.
bug fixes
- ChatGPT reconnect when the session expires — the ChatGPT connection now shows a clear “session expired” warning with a one-click reconnect, instead of failing requests in the background. see ChatGPT.
- no more shortcut-reminder error loop on Windows — a missing first-run settings file no longer triggers a flood of webview → Rust errors; the reminder check now confirms the file exists and coalesces rapid setting changes.
- clearer S3 upload errors — when an upload to cloud storage fails, the desktop app now surfaces the server’s reason (signed URL expired, content-type mismatch, etc.) instead of just the HTTP status code.
week of may 23, 2026
new features
- multi-monitor paired capture in the SDK —
@screenpipe/sdk(now 0.3.0) records all your monitors by default and can opt into the same event-driven capture pipeline the CLI uses, so an SDK-recorded session lands in the same database your pipes already query. see pipes. - deepgram live diarization in meeting notes — the live meeting transcript now labels each turn with a speaker (you on your input device, “speaker 2/3/…” for others) instead of one undifferentiated stream, and adjacent turns from the same person collapse into one line. see meeting transcription.
- Codex CLI + Obsidian in onboarding — the onboarding integration grid now offers one-click setup for Codex CLI (as an MCP client) and Obsidian (auto-discovers your first vault). see connections and Obsidian.
- CLI flags for keystroke, clipboard, and scroll capture —
--capture-on-keystroke,--capture-on-clipboard, and--capture-scrolllet you link non-printable key events, clipboard rows, and scroll-stop triggers to the screen frame they fired on. see the CLI reference. - kebab menu on scheduled pipe rows — scheduled runs in the chat sidebar now have the same hover menu as conversations: stop the run, or pin/rename/archive/delete its session record.
- “check for updates” card in settings — Settings → General now has a visible “check now” button so you can pull a new version on demand instead of waiting for the next periodic check.
updates
- DRM-aware pause is now on by default — screenpipe pauses recording on Netflix, Disney+, Hulu, HBO Max, and other DRM streams out of the box, with reliable detection in Safari (including subdomains like
apps.disneyplus.com). no more black frames in your timeline from protected content. - Auto power mode by default — new installs start in Auto, which throttles capture on battery and restores full quality on AC. existing power-mode preferences are preserved.
- onboarding tells you why the engine didn’t start — if recording permissions are missing (or another spawn error fires), onboarding now shows the real reason and the bundle id it’s asking for, with one-click “open system settings” and “reset & re-request” actions. see permissions.
- clearer error when the in-app chat can’t load — the Settings chat panel now shows an actionable message and a support email when the connection fails, instead of a raw “Load failed”.
- OpenAI Realtime removed as a meeting transcription provider — the unused OpenAI Realtime path has been retired; selected-engine, screenpipe-cloud, and deepgram-live remain. see meeting transcription.
bug fixes
- OAuth connections no longer brick themselves overnight — fixed a refresh bug that silently dropped your
refresh_tokenand identity metadata (email, workspace, team id) on every refresh, causing connections to flip to “needs attention” after about an hour. multi-account setups and providers that don’t echoexpires_inon refresh are also covered. see connections. - failed updates are retryable — if a download fails (network drop, disk full, 5xx), the tray item now says “Update failed — click to retry” and the next periodic check picks it back up; transient failures also auto-retry with backoff. a desktop notification surfaces the failure instead of failing silently.
- disabling auto-update is respected on Windows — when auto-update is off, Windows no longer force-installs the new version during a periodic check. you’ll see the banner and choose when to restart.
- dismissing the update banner now sticks — clicking the X on the update banner keeps it hidden across periodic re-checks and tab switches, until a new version actually arrives or you click “update now” in the tray.
- meeting transcripts no longer show duplicate lines — fixed a case where chunks pulled from
/searchand from the meeting transcript endpoint were deduped under different keys, so every segment appeared twice. - background transcription stops fighting live meeting notes — when a live meeting note is running, the background transcriber no longer re-processes the same audio, eliminating duplicate text in the transcript.
- Google Calendar connect button works for free users — clicking connect on Google Calendar without a Pro plan now shows the “pro required” upgrade prompt instead of silently doing nothing, and surfaces “needs attention” when a token exists but can’t be decrypted. see connections.
- Zoom and other long-lived OAuth tokens refresh cleanly — fixed a follow-up edge case where a stale
expires_atcould cause an infinite refresh loop for providers that don’t returnexpires_inon refresh (Slack long-lived tokens and similar). - Pi assistant starts reliably on Windows — migrated the bundled pi-agent to its new package namespace and pinned a transitive dependency that was failing to hoist on Windows; install errors are now surfaced in the toast instead of a generic “exited with code 1”.
week of may 22, 2026
new features
- GitHub Copilot CLI as an MCP client — connect Copilot CLI from settings → connections and use it alongside Claude Code, Codex, and the other supported agents. see Copilot CLI.
- redesigned connections panel — Input Monitoring is now a first-class tile, a new Featured row highlights the integrations most people set up first, and Apple Calendar has been removed in favor of the macOS calendar permissions used elsewhere. see connections.
- clipboard capture without Input Monitoring permission — clipboard text is now captured through the UI recorder, so you no longer need to grant macOS Input Monitoring just to search what you copied. toggle from settings → recording or via the CLI. see the CLI reference.
- calendar-aware meeting prewarm — 2–3 minutes before a calendar event starts, screenpipe surfaces a toast to start the live meeting note, so you’re never caught flat-footed when a call begins. see meeting transcription.
- silent background updates with a restart banner — app updates now download quietly in the background; you only see a banner when the new version is ready to apply, and the restart is one click. auto-update is off by default — you stay in control of when to switch versions.
- enterprise update policy — IT admins can pin specific app versions per organization, control whether the consumer update banner shows for employees, and roll updates to fleets on their own schedule. see teams.
- MCP team telemetry tools — when authenticated with an enterprise key, the screenpipe MCP server exposes new tools for querying team telemetry from any MCP-compatible agent. see MCP server and teams.
- frame ID on
/searchresults —/searchinput results now include theframe_idthey were captured from, so pipes can join search hits back to the exact screen frame for screenshots or replay. see the API docs. - richer SDK runtime controls — the
@screenpipe/sdk(now 0.2.0) addssetFilters/filterStatusat runtime, emitspausedandresumedevents, and honors ignored/included windows plus ignored URL filters from your pipe code. see pipes. - CLI version-check nudge — the CLI tip rotation now periodically reminds you when a newer CLI is available so you don’t miss fixes. see the CLI reference.
ui_recorderstatus in/health— the health endpoint now reports whether the UI recorder (and clipboard capture) is running, so monitoring tools can answer “is clipboard capture on?” without scraping logs. see the API docs.
updates
- more accurate daily summary time breakdown — the daily summary now derives per-app time from accessibility events instead of OCR, so the breakdown matches what you actually used rather than what happened to be on screen.
- OAuth tokens refresh in the background — a new refresh scheduler renews OAuth tokens proactively, fixing the Zoom 15-hour rotation bug and similar drop-outs for other connections. see connections.
- UI events linked to the frames that triggered them — clicks, scrolls, and key presses are now paired with the screen frame they fired on (including on Windows and when the frame was deduplicated), so the timeline popover lights up more reliably and is easier to click.
- share-logs no longer creates a public link — the “share diagnostic logs” flow now just uploads to support and acknowledges receipt; the old shareable URL has been removed to prevent accidental log exposure.
- lower idle CPU on Windows — background workers wake less often when the app is idle, cutting battery drain on laptops.
- chat sidebar polish — streaming and activity signals are unified into one indicator, scheduled rows show a live signal with status and elapsed time on hover, and recents rows align their age label with the live signal.
bug fixes
- frontend crashes now show up in reports — top-level WebView errors are captured and shipped with source maps so support can diagnose UI crashes instead of seeing a blank stack.
- audio falls back when a pinned mic disconnects — unplugging your pinned input device no longer kills capture; screenpipe falls back to the system default input automatically.
- timeline day-picker restored, no more device spam — fixed a regression that broke the timeline day-picker and flooded logs with
device_monitor 'default'warnings. - phantom “new content” pill in chat — fixed a case where the “new messages” pill stuck around after you’d already scrolled to the bottom.
- chat preserves pipe-run titles — switching tabs or syncing history no longer overwrites the title of a pipe-driven chat.
- clipboard events carry app + window context — copied text is now tagged with the app and window title it came from, so clipboard search results are filterable.
- clipboard capture auto-recovers — after a crash, clipboard capture restarts automatically instead of requiring you to delete a marker file.
- organize-with-AI opens the right view — the speakers “organize with AI” action now opens the home chat instead of an empty settings pane.
- pipes load presets from encrypted store — pipes whose configuration lives in the encrypted
store.binnow resolve presets correctly at start. - MCP
keyword-searchquality — fixed argument mapping, time-range normalization, error messages, and OCR truncation in the screenpipe MCPkeyword-searchtool. see MCP server. - audio reconciliation zombie loop — fixed a case where the audio chunk processor could spin forever after a transient failure; chunks now move through an explicit state machine.
/healthcan’t deadlock the CLI — bounded the health response time so external watchdogs no longer kill a healthy CLI that was momentarily slow to answer. see the CLI reference.- admin team API token field is editable — first-time admins can now paste their team API token in settings → teams instead of seeing a read-only field.
screenpipe statusreads the right database — the CLI now resolvesdb.sqlitefrombase_dir, matching where the daemon actually writes. see the CLI reference.npx screenpipeand global install work again — the npm wrapper bin is wired correctly so bothnpx screenpipe …andnpm i -g @screenpipe/clirun the right binary. see the CLI reference.- enterprise macOS pkg notarization — the enterprise macOS installer is notarized correctly so admins no longer see Gatekeeper warnings on first install. see teams.
- enterprise sync auth — the enterprise sync worker re-reads the local API auth key on every request, so rotating the key no longer requires a restart.
- Windows timeline popover clickability — expanded the popover hit area so it’s easier to open from the timeline.
week of may 18, 2026
new features
- chat source citations — answers in chat now show a citation footer linking back to the screen, audio, or memory sources used to generate them, so you can verify what the agent saw before trusting an answer.
- Windows microphone echo cancellation — Windows mic capture now wires through AEC, cutting room echo and speaker bleed during meetings. toggle it from settings → recording or via the CLI. see the CLI reference.
- speaker search uses diarization turns — searching by speaker now matches against per-turn diarized segments instead of whole chunks, so results land on the exact moment a person spoke. see meeting transcription.
updates
- faster app launch — heavy chat and rewind renderers (code blocks, mermaid diagrams, message list) now defer until needed, so the desktop app opens noticeably quicker.
- snappier chat history — chat conversation list refreshes are debounced and cached, removing the stutter when switching between long chats.
- polished meeting notes live transcript — the live transcript panel inside meeting notes has a cleaner layout, better speaker grouping, and steadier scroll behavior while a meeting is in progress. see meeting transcription.
- tighter chat composer and suggestions — the AI preset picker, suggestion rows, and source cards in chat have been re-spaced and simplified for quicker scanning.
bug fixes
- Screenpipe Cloud transcription applies without a restart — switching to Screenpipe Cloud (Deepgram) transcription now takes effect on the next capture cycle instead of requiring a full server restart.
- no more lost meeting transcript when live STT fails — if the live speech-to-text stream drops mid-meeting, the transcript now backfills from buffered audio instead of leaving a gap in the meeting note.
- pipe-watch tool output renders correctly — return values from pipe-watch tool calls now display in the chat tool rail instead of showing as empty.
week of may 14, 2026
new features
- per-site consent before importing browser cookies — when an agent needs to act on a signed-in site (Gmail, GitHub, your bank), the embedded browser now asks you to approve session access for that specific host before copying any cookies from Arc/Chrome/Brave/Edge. saved passwords are never read.
- CLI flag to skip the meeting detector —
--disable-meeting-detectorskips the v2 meeting watcher entirely (no process / accessibility scan every 5 s). useful for headless or task-mining setups that only consumeaccessibility_textandui_events. see the CLI reference. - CLI flag to skip snapshot compaction —
--disable-snapshot-compactionskips the background JPEG→MP4 worker for users who don’t open the MP4 timeline UI. disk usage falls back to your--retention-dayssetting. see the CLI reference. - codex-style chat queue steering — queue follow-up messages while the agent is still working and reorder or cancel them before they run.
updates
- transcription fallback notice — when your requested transcription engine isn’t available (signed out, no subscription, missing Deepgram key), the audio panel now tells you which engine is actually running and why, instead of failing silently. see meeting transcription.
- multiple OAuth accounts per connection, restored — connections that support more than one account (e.g. multiple Google or GitHub instances) again list each one separately in settings → connections instead of collapsing into a comma-separated label.
- faster, smoother UI — overlay data, health checks, meetings, and timeline hooks have been reworked to cut re-renders and main-thread work on macOS. the timeline streamer now caps batches and stops retrying forever on a broken connection, so a stalled stream recovers cleanly.
- clearer doctor output —
screenpipe doctornow verifies the API port is actually listening and gives a step-by-step macOS fix when ScreenCaptureKit can’t open system audio (including the exact terminal app to grant in System Settings → Privacy & Security → Screen & System Audio Recording). see the CLI reference. - CLI tips use
npx— startup tips for installing bundles and signing in now shownpx screenpipe …so the commands work without a global install. - chat search and switching feel snappier — additional optimization passes on the chat sidebar and search modal.
- Windows timeline hardening — WebView2 startup and the timeline frame stream are more resilient to transient failures, with bounded retries and per-frame limits.
bug fixes
- Windows: no more flashing shell windows — background shell commands triggered by the app no longer pop a console window into focus.
- meeting notifications now open the right live note — clicking a meeting notification deep-links into the correct in-progress note instead of a stale one.
- live transcript order and AI summaries — fixed out-of-order segments and missing summaries in the live meeting transcript and meeting notes panels. see meeting transcription.
- capture exclusions search — the search and “exclude this app” actions in capture exclusions now update reliably and stay in sync with the current query.
- AI gateway error reporting — fixed Sentry regressions in the AI gateway for Anthropic, Gemini, and Vertex providers so failed requests are reported with the right context instead of being swallowed.
week of may 10, 2026
new features
- local AI PII removal — the on-device PII redactor is back, now powered by OPF v3 for text and rfdetr_v9 for images. Defaults to a credentials-only policy that catches Anthropic, OpenAI, Google, Hugging Face, GitHub, and Cloudflare API keys without touching the rest of your timeline. Apple Silicon gets a ~6× faster MLX path on macOS 26+. enable in settings → privacy → AI PII removal. see privacy filter.
- toggle for cloud audio, video, and image analysis — single switch in settings → privacy controls whether agents can call the cloud media analysis enclave. on by default; flip it off to keep media analysis fully local.
- Codex MCP connection — connect Codex from settings → connections to use it as an MCP client alongside Claude Desktop, Claude Code, and the other supported agents.
- Bee wearable integration now works — the connection was registered but TLS-failed against Bee’s private root CA. it now ships a real, logged-in client.
- chat search across past conversations — the existing memory search now finds chats too. press the search shortcut and start typing.
- chat picker in the collapsed sidebar — switch between chats without expanding the sidebar.
- monitor topology toasts — get a notification when a display is plugged in, unplugged, or swapped (e.g. clamshell to external). turn it off in settings → notifications → display changes if it’s noisy on a rotating dock setup.
- hide thinking blocks — collapsible chain-of-thought blocks in chat are hidden by default. toggle from settings → display → hide thinking blocks.
- pipe activity indicators — running pipes now surface a live status indicator in the pipe list.
- rename speakers in the meeting transcript sidebar — click any speaker name in the transcript panel to rename, search similar speakers, and propagate the rename across the meeting.
- copy meeting transcript — new copy button in the meeting view copies the full transcript (not just the filtered view) as plain text.
- pick which pipe summarizes meetings — new picker next to “summarize with AI” lets you choose any installed or store pipe to drive meeting summaries.
- split and merge meetings — new
POST /meetings/:id/splitendpoint and a smarter merge that preserves titles, attendees, and notes from both sides. see the API docs. - back up your real-browser login state into the agent browser (macOS) — the agent’s embedded browser now inherits cookies from Arc, Chrome, Brave, and Edge, so authenticated sites (Twitter/X, Gmail, GitHub, your bank) work without a manual sign-in. each browser is opt-in via a one-time Keychain prompt.
- one-click browser extension pairing — pair the screenpipe browser extension in a single click from the desktop app.
- enterprise managed AI presets — admins can publish managed presets, lock the default, and gate custom presets per employee. see teams.
- Intune deployment guide — IT admins deploying screenpipe to Windows fleets via Microsoft Intune now have a canonical reference. see Intune deployment.
updates
- friendlier “sync now” error — the pipes-sync and memories-sync buttons in the account panel now disable while the engine is still starting, and surface a readable message instead of
Load failed (localhost:3030). - chat tool rail readability — agent actions like
curl -H "Authorization: Bearer ..."are now rendered as plain English (“Searched ChatGPT ‘q’”, “Saved memory”, “Navigated agent browser → calendar.google.com”) with the matching app icon. web tool calls also show the destination site’s favicon. - connection icons in chat tool rail — see at a glance which integration a tool call hit.
- secure team sharing setup from the desktop app — initialize encrypted team sharing without leaving the app. see teams.
- chat works while logged out — suggestion cards and a login button show up in unauthenticated chat sessions instead of an empty screen.
- chat shows suggestions when unauthenticated + the AI preset selector now surfaces a login button so there’s always a clear way in.
- mic capture is faster to recover on USB and Bluetooth devices — phantom audio interfaces (controller adapters, dock stubs, headset descriptors with nothing plugged in) are filtered out, so the device picker only shows mics that actually record. on Windows, format mismatches fall back to the system default format automatically.
- audio reliability under load — increased the write connection pool and improved reconciled-transcript playback so merged audio chunks stay in sync with the timeline.
- embedded browser stays inside the app — the agent browser no longer floats above unrelated apps and now follows the parent window for minimize, hide, and app switch.
- embedded browser performance — kills a 60 Hz polling loop that was driving WindowServer and the SCK audio daemon to 100 % CPU when the browser panel was open.
- embedded browser remembers where you left off — saved browser URLs now reliably restore on app launch.
- monitor recovery after disconnect — vision capture now retries automatically when a display is unplugged and reconnected.
- system audio toggle copy — clearer, shorter description of what “CoreAudio system audio” does and the Zoom/Meet/Teams trade-off.
- changelog is live — the in-app changelog dialog pulls the latest entries from screenpi.pe instead of a stale bundled file.
- AI gateway credits extend daily cost cap 1:1 — the 50 more headroom on Opus / Sonnet instead of getting blocked by the daily cost limit.
- lower idle RAM — local text-PII (~2.8 GB) and image-PII (~150–200 MB) models lazy-load and unload after 60 s idle, freeing several GB when the worker isn’t busy.
- explicit logs when AI PII removal is off — log lines now confirm the model isn’t loaded so you can verify the toggle worked.
- AirPods + Bluetooth health status —
/audio/device/statusnow reportsactive_no_datawhile a hijacked or silent device recovers, instead of misleadingly reportingok. - clamshell mode no longer captures the sleeping built-in display — the lid-closed laptop panel is filtered out of the capture list, saving cycles and black frames.
- meeting detection robustness — added re-entry hysteresis so single-frame UI blips (e.g. Google Meet’s auto-hiding toolbar in Arc) no longer flap the meeting state machine.
- clearer team invite error — server-emailed invite links don’t carry the team encryption key; the error now tells you to grab the full link from the admin’s desktop app.
bug fixes
- Windows audio capture — fully reverted the upstream cpal regression that caused Windows 11 24H2 users to record near-silent audio (-85 dB) on Jabra, Logi, and Communications-class USB mics. capture levels and transcription are restored.
- Windows owned browser — fixed WebView2 startup and loading failures on Windows.
- Windows ONNX runtime — corrected the bundled runtime version so the app launches cleanly.
- Windows ARM64 — release builds and signing pipeline restored.
- connection permission prompts — fixed permission prompts that previously failed to appear when connecting new integrations.
- connection details open in a dialog — selecting a connection no longer scrolls the settings page unexpectedly; details open in a modal instead.
- connection tooltip clipping — tooltips no longer get cut off inside the connection modal.
- Claude Desktop MSIX (Microsoft Store) support on Windows — MCP key injection now finds and patches the MSIX-installed Claude Desktop config.
- Apple Intelligence tile is now hidden on non-macOS platforms.
- Obsidian connection — vault auto-discovery and a cleaner connect/disconnect flow.
- connections cleanup — fixed disconnect reliability, missing icons, and stale state across the connections panel.
- chat preset switching in existing conversations — switching presets mid-conversation no longer drops your selection.
- chat editing preserves what’s on screen — editing a previous message no longer collapses the surrounding context.
- AI model picker — search clears when re-opening, and cancel/close behavior is fixed.
- pipes UX — fixed dropdown lag, the stuck loading skeleton, offline state copy, and missing feedback in pipe discover.
- discover-tab “new” badge on home page is hidden where it didn’t apply.
- speaker email alias deduplication — speakers with multiple aliases are no longer counted as duplicates.
- speaker merge from settings — the “yes, merge” button now actually merges instead of returning a 422.
- macOS clipboard crashes — NSPasteboard reads are now dispatched to the main thread, eliminating a class of EXC_BAD_ACCESS crashes during heavy clipboard activity.
- macOS cursor lag — disabled SCK’s cursor and click-ripple compositing, which was causing visible cursor lag during heavy interaction (Chrome tabs, dropdowns).
- macOS callback panics — wrapped ObjC→Rust callbacks (scroll, magnify, notification action, dock menu) in panic guards so transient errors no longer SIGABRT the app.
- pipe orphan PID cleanup no longer SIGTERMs the app itself — fixed a regression where saving settings could gracefully exit the app via the orphan-pipe cleanup path.
- settings loss on update is now impossible — four-layer defense (snapshot, auto-restore, refuse-overwrite, stop empty-writes) protects your AI presets and settings across updates.
- audio worker shutdown — clean shutdown signals stop the tokio teardown panics that were filling
last-panic.logon every quit. - audio stream stop use-after-free — fixed a macOS crash when stopping or switching audio devices.
- recording start race + health probe — concurrent capture-start invocations can no longer clobber each other, and a dead HTTP serve task after sleep/wake now triggers a real restart instead of an indefinite “connection error”.
- speaker model loading — resilient downloads with retries so flaky networks don’t leave you without speaker recognition.
- ORT initialization panics in the rfdetr image model and speaker init are now caught and surfaced as proper errors instead of crashing the worker.
new features
- Zoom integration — connect Zoom via OAuth so meetings show up alongside other connected apps. configure in settings → connections.
- Hermes Agent connection — drop screenpipe’s MCP server into your
~/.hermes/config.yamlfrom the connections panel. see MCP server. - Bee wearable — pair your Bee device as a connection so its captures join your screenpipe timeline. see connections.
- clipboard capture privacy toggle — turn off clipboard capture from settings or via a new CLI flag when you don’t want copied text recorded. see the CLI reference.
- focused document file paths — screenpipe now records the absolute path of the document you’re editing in TextEdit, Obsidian, Cursor, VS Code, Windsurf, VSCodium, and Trae, so you can search by filename.
- meeting notes timeline scrubber — meeting transcripts now have a scrubber with full transcript playback, speaker rename popover, and an “open in timeline” button. see meeting transcription.
- browser API:
/navigateand/snapshot— drive the embedded browser from your pipes and grab DOM snapshots. see the API docs. - MCP
update-meetingtool — let your AI write summaries back to a meeting note via a typed MCP tool. see MCP server. - manage AI presets from the CLI — create, update, delete, and set the default preset, plus pin a preset to a specific pipe. see the CLI reference.
updates
- meeting summarize button is now front-and-center in the meeting view, and the AI writes its summary back into the note for you.
- chat works without login — the b/w login banner is gone; you can chat on free models without an account.
- browser panel state persists per conversation — width and collapsed state are remembered when you switch chats.
- chat polish — queued messages are visually de-emphasised, the first thought block is collapsed by default, and a live dot pulses in the sidebar while the current chat is streaming.
- pipes list is faster — large stdout/stderr payloads no longer ship with every list request.
- “delete last N minutes” now actually removes the underlying mp4/wav files and drops cached frames.
bug fixes
- clipboard crash protection on macOS — added a watchdog around NSPasteboard reads so a hanging clipboard owner can no longer take down screenpipe.
- Claude Desktop MCP 403s — MCP API key discovery now uses the bundled bun, so auth works without a system bun on
PATH. - privacy scrubs — API keys and tokens are stripped from the feedback console-log bundle, the cloud JWT is hidden from bash subshells, and auth tokens + emails are no longer logged on the server.
- audio reliability — undecodable audio chunks are quarantined instead of retrying forever, and the audio reconciliation retry loop has been killed.
- chat fixes — removing
@inputworks again, new chats appear in the sidebar immediately, duplicate filters from dropdown buttons are deduped, the “writing…” indicator self-heals on session return, and chat history loss on Windows (sanitized filenames + atomic saves) is fixed. - settings — API key regenerate now respects cancel, apply, and manual edits.
- shortcuts — pressing esc or clicking outside cancels a recording capture.
- timeline — applied tag chips have a remove button, and empty-state arrow buttons navigate the right direction.
- meeting notes — sidebar can be expanded again during a focused meeting, broken frame images are fixed, and the scrubber no longer ends early.
- embedded browser — x.com loads again (Safari UA spoof).
- skill install — added the download permission and surfaces loading / saved / error states.
- offline mode actually blocks pipe network calls now (the half-baked toggle has been removed).
- Windows — fixed an a11y crash from the
GetWindowRectimport. - pi config —
pi confignow does a real merge instead of overwriting~/.pi/agent/models.json.
week of april 26, 2026
new features
- new integrations — connect Microsoft 365 and Teams, Google Docs, Google Sheets, QuickBooks Online, Bitrix24, Loops, Resend, Supabase, and the Pocket AI voice recorder. configure in settings → connections.
- PII privacy filter — opt-in filter (powered by a Tinfoil enclave) that redacts personal info from
/searchresults and chat messages before they leave your machine. toggle from the chat composer. learn more. - parallel chats with background streaming — start multiple chats and switch between them; responses keep streaming in the background. a new chat sidebar shows pinned chats, recents, and pipes scheduled to run.
- focus-aware capture — when enabled, screenpipe only records the focused monitor instead of all of them, halving capture cost on multi-display setups. toggle from settings.
- per-machine pipe favorites — star pipes you use most. starred pipes sort to the top of the pipe list and get their own filter chip.
- LAN-access toggle for the API — bind the local API to
0.0.0.0so other devices on your network can reach it. API auth is force-enabled when LAN access is on. see the API docs. screenpipe sync remote— back up your screenpipe data over SSH/SFTP to a server you control. see the CLI reference.screenpipe db {check, recover, cleanup, unlock}— new CLI commands to repair database corruption and reclaim disk space. see the CLI reference.screenpipe logout— sign out of your screenpipe cloud account from the CLI.- connected apps as @mentions in chat — type
@in the chat filter popover to scope a question to a specific connected integration. - AI quota warnings — heads-up notice when you’re close to your daily limit on weighted models, so you don’t get cut off mid-task.
- browser extension v0.2 — new popup with connection status, an options page, and token-based auth.
updates
- CoreAudio Process Tap is now the default for system audio on macOS 14.4 and later — better quality and no virtual driver required.
- API keys are now readable and regeneratable in the UI. user-set custom keys have been removed in favor of a single managed key.
- Cursor-style inline edit — click any of your past chat messages to edit and re-run it.
- redesigned sidebar — collapse button next to the macOS traffic lights, search opens a focused overlay window with a real keyboard shortcut, and starred pipes outrank running pipes in sort order.
- timeline calendar — empty days are now disabled in the day picker and skipped when navigating with arrow keys.
- chat models hot-swap — switching a preset’s model no longer restarts the chat subprocess.
bug fixes
- mic stays connected on sleep/wake — fixed false-positive disconnects.
- Microsoft 365 / Teams OAuth now uses the correct Azure client ID; personal Microsoft accounts are rejected up-front (Teams scope isn’t supported there).
- database reliability — multibyte string truncation no longer panics, and connection starvation under heavy writes has been resolved.
- diarization timeouts — added a
speaker_idindex that fixes 60s+ stalls on long meetings. - memories pipeline silently stopped updating — now back online.
- macOS memory leaks — wrapped clipboard capture, monitor enumeration, and focus-tracker callbacks in autorelease pools.
- search results — keyword flat mode no longer drops entries that lack text positions.
- OAuth flows — auto-refresh of expired tokens in the generic proxy, query params now forwarded through the connection proxy, broader Google Sheets scope, and a fix for tokens being dropped when reconnecting an instance.
- notifications — clicking “Open” on a native macOS notification now reliably brings the screenpipe window forward.
- onboarding — MCP install uses the bundled bun, so it works without a system bun on
PATH. WhatsApp connection now resolves bun the same way. - calendar permission — recovers when the macOS Privacy pane reports denied-but-empty.
- chat polish — drag-select restored in user messages, ”+ new chat” reuses an empty chat instead of spawning duplicates, “Try again” appears when a model returns an empty response, and free models are always allowed regardless of quota.
- Windows — restored ARM64 release builds, switched consumer release to SSL.com EV signing, and propagated system root CAs to bundled bun/node via
NODE_EXTRA_CA_CERTS.