X-ray, ghost cursor and live steps

Trust comes from being able to see what the agent sees and does.

X-ray

X-ray draws the agent's view on top of the real page:

It runs in the same isolated world as the agent, so when an agent is attached the badges match the refs the model uses. Turn it on with --xray, or from a host app that offers it.

Ghost cursor and human-like input

Before each click, hover, type or select, a small caption next to the pointer says what is about to happen (click · Place order). There is no box around the target: the pointer itself shows where it is going. The ghost cursor draws the real pointer: it follows the CDP mouse events the agent sends, so what you see is what the page receives.

With humanized input on (--humanize, or --host unless you pass --fast), the real pointer moves like a hand:

Idle hand. Between tool calls, while the model is thinking, the cursor doesn't freeze. It makes small settling moves and slowly drifts toward headings, text and links, as if reading. Right after the agent opens a site, it appears where the hand was and starts reading the page. The idle drift is drawn only: no mouse events reach the page, so no menus open on hover and nothing the agent sees changes. If you move your own mouse, the drift stops and leaves you alone. The next real move starts exactly where the drawn cursor is, so it never jumps.

This is for people watching and for demo videos. It is not a bot-detection evasion feature: the engine still identifies itself (User-Agent token, Web Bot Auth) and hands CAPTCHAs to you.

Flags: --show-cursor and --humanize enable them in standalone mode, --host turns both on for a host app (--fast skips humanizing), --no-cursor turns the cursor off.

Seeing what was sent

Every tool result is the exact text the model receives, so your MCP client's tool output shows it with no extra step. The session trace also records the token count and time of each call.