existing agent chats
screenpipe exposes search_chats and send_to_chat as agent tools. They use a
private core capability passed into the current chat process; do not scrape
transcript folders, guess runtime commands, or call a localhost app route.
search
- Call
search_chatswith a short title, message, workspace, or exact id. The query also matches the transcript, so a phrase said mid-conversation finds the chat even when the title never mentions it. Omit the query to list recent chats. Filtersourcesonly when the user named a runtime. - Show enough title, source, preview, and workspace information to distinguish ambiguous results.
- Treat the returned
sourceandidas the address. Never derive an id from a title or reuse a stale result after the target disappears. - Read the
warningsarray. Transcript reading is bounded to the most recent chats per runtime, so report that older chats were not searched instead of claiming a phrase was never said.
Searching is read-only and does not require confirmation.
send
- Require an exact result from
search_chatsin the current turn. - Require explicit user authorization for that target and message. A draft, suggestion, or request to inspect chats is not permission to send.
- Call
send_to_chatwith the exactsource,id, message, andconfirmed: true. - Use
mode: queueby default. Usemode: steeronly when the user asked to redirect a currently running screenpipe chat. - Report the returned status and exact target. Do not retry an uncertain or failed send until the result is reconciled.
Gemini CLI chats are search-only: Gemini has no non-interactive resume, so
send_to_chat rejects them instead of opening an interactive session. Say so
and offer to summarize what the chat already contains.
The tool refuses self-sends, guessed ids, dormant-chat steering, oversized messages, unsendable sources, and sends without confirmation. Cross-chat sending is disabled in unattended scheduled runs.