Skip to main content
Glasswarp gives an agent eyes and hands on a Windows PC you own. You supply the brain. Treat full desktop control as powerful — start small, watch it, then open the throttle. Glasswarp handles session controls (consent, on-screen indicator, kill switch, audit, Live View). Your agent code handles what it’s allowed to do. See also: Safety and consent · Live View

Checklist

On the Glasswarp side

  • Use a dedicated rig when you can — not your everyday PC
  • Turn API access on only when you need it (Console → Rigs)
  • Scope API keys to one rig when possible
  • Keep Live View open on first runs; kill from Console if needed
  • Always end_session when finished

In your agent code

  • Ask a human before delete, send, purchase, install, or security changes
  • Allowlist apps the agent may launch
  • Set a max steps / max minutes budget
  • Don’t put passwords or secrets in prompts
  • Log what the agent is about to do
  • Never aim the agent at the Glasswarp tray (unpair / end session) or Windows security UI

Human-only on the host (platform-enforced)

These are not agent API/MCP tools. The host also blocks remote input while the tray confirmation dialogs are open, so an agent with hands cannot click Yes for you. Agents should call end_session when their own work finishes — that is cleanup, not the owner kill switch.

Simple split

You need both.

Patterns

Watch first. Open Live View (or the live_view_hitl template) before full autonomy. Batch only when intermediate screens are predictable. Actions inside a batch execute without verification between them (MCP send_actions is capped at 10; an invalid action is rejected during validation before anything is sent, and the response names the failing action index — zero events reach the machine). On a host running agent ≥ 0.2.21 (with api_input_ack), the owner kill switch and session end abort an in-flight batch mid-sequence: the input call returns 410 aborted_by_owner with executed / aborted / kill_to_abort_ms counts, and only the executed events landed. Older hosts are fire-and-forget (the session ends but the current batch may finish) — upgrade the host for guaranteed mid-batch abort. Confirm risky acts.
Budget + always clean up.

Console

In our examples

Helpers live in sdk/python/examples/safe_session.py (budgets, intent logs, allowlist, optional REQUIRE_CONFIRM=1). Templates and demos use them. The longer demos (Paint / Minesweeper) run unattended by default — set REQUIRE_CONFIRM=1 if you want prompts.