fast triage
lifecycle
common failures
windows pipe exits immediately
if a black command window appears and disappears, the pipe process is probably crashing before you can read the error.- open settings -> pipes -> your pipe -> logs.
- run the pipe manually.
- if the pipe calls a script, run that script directly in PowerShell.
- confirm
pipe.mdexists in the pipe folder and has valid frontmatter. - confirm the local API is alive:
write prompts with debuggable outputs
weak:frontmatter checklist
secrets and provider auth
do:- keep API keys in
.envnext topipe.md - use connected app proxies when possible
- use local models through Ollama for fully local execution
- use
SCREENPIPE_API_KEYwhen API auth is enabled
- paste API keys into the prompt body
- ask the AI to print secrets
- grant broad write access before the pipe is proven
connection proxies
connected apps can be called without exposing secrets to the pipe prompt:search filters that usually break custom pipes
start with broad search, then add filters one at a time.content_type=all or content_type=accessibility for most app text. OCR is fallback pixel text, not the main source of screen text on platforms where accessibility data is available.
when filtering by window, first inspect real stored window names from broad results. the visible title bar and stored window_name can differ.
avoid this while debugging:
window_name, app_name, start_time, or end_time only after you know the data exists.
notifications and external actions
if a pipe should play a sound, show a notification, send Telegram, update Notion, or call a webhook, split the debugging:
make the pipe log every skipped action. silent “no-op” runs are hard to debug.
when to use chat, MCP, or pipes
collect a useful bug report
include:- pipe name and
pipe.md - schedule and whether manual run works
- output of
curl http://localhost:3030/health - output of
curl http://localhost:3030/pipes/<name>/logs - AI provider and model
- whether API auth is enabled
- OS and screenpipe version