Start a LOCAL-ONLY screen-frame recording (the talos PC-monitor 'screen as images', local-only). Periodically screenshots every display, perceptually de-duplicates near-identical frames, and writes them under ~/.yaver/screenlog/. Nothing is uploaded. Returns a session id + local viewUrl. Call scr...
AI agents invoke screenlog_start to trigger actions in Yaver. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call — builds kicked off, notifications sent, workflows started.
| Parameter | Type | Required | Description |
|---|---|---|---|
dedup | boolean | — | perceptual de-dup of unchanged frames (default true) |
title | string | — | |
format | string | — | frame format (default png, higher fidelity) |
persist | boolean | — | keep recording across reboots/sign-out — the agent auto-resumes on start with NO auth/internet dependency (set-and-forget black box) |
displays | string | — | |
ephemeral | boolean | — | temporary screenshots: derive label+hash+interval per frame then DISCARD the image — keep only the activity trace (storage-light, privacy-friendly) |
max_width | integer | — | downscale cap in px; 0 = full resolution (default) |
tag_window | boolean | — | best-effort active app/window-title tag per frame (default true) |
wsl_target | string | — | in WSL, capture the Windows host desktop (host), the Linux WSLg surface (wslg), or auto-detect (default) |
max_disk_mb | integer | — | disk-budget ring buffer in MB; oldest frames evicted first (default 4096) |
interval_sec | integer | — | seconds between captures (default 2) |
capture_input | boolean | — | also record the keystroke/mouse companion stream (requires screenlog_policy allowInputCapture=true; OFF by default — keylogging is sensitive) |
Parameters from the server's own tool schema.
screenlog_start triggers real processes with real consequences. An agent gone sideways doesn't fire it once — it starts dozens of builds, sends mass notifications, or burns through compute before anyone looks up.
Risk signalsHigh parameter count (14 properties) · Bulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
Start a LOCAL-ONLY screen-frame recording (the talos PC-monitor 'screen as images', local-only). Periodically screenshots every display, perceptually de-duplicates near-identical frames, and writes them under ~/.yaver/screenlog/. Nothing is uploaded. Returns a session id + local viewUrl. Call screenlog_stop to finish. It is categorised as a Execute tool in the Yaver MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
screenlog_start accepts 12 parameters: dedup, title, format, persist, displays, ephemeral, max_width, tag_window, wsl_target, max_disk_mb, interval_sec, capture_input. The full parameter table on this page comes from the server's own tool schema.
Register the Yaver MCP server in PolicyLayer and add a rule for screenlog_start: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Yaver. Nothing to install.
screenlog_start is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the screenlog_start rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for screenlog_start. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
screenlog_start is provided by the Yaver MCP server (yaver-cli). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.