Ask using the user's browser
The dedicated browser path. The extension’s “use my browser” button POSTs
here, PAT-authed (the same token the WebSocket uses). This is the ONLY entry
that runs an agent scoped to the local-browser tools (computer_*) + the
browser prompt - normal chat (web / Slack) never sees them, because
hq:computer is default_enabled = FALSE and the gateway only widens the
scope when this turn’s browser_session flag is set. Runs synchronously and
returns the agent’s reply.
Requires a connected browser
Runs an agent turn against the caller’s own local browser using thecomputer_* tools — the only entry point where those tools are enabled. It runs synchronously and returns the reply directly (no event stream).
Pass conversation_id to continue a thread; omit it on the first ask to create one. Store the returned conversation_id and send it back on the next ask — the same pattern as the normal turn endpoints.Authorizations
Personal Access Token. Send as Authorization: Bearer hq_pat_....
Body
The user's request (e.g. "what is this page" / "fill in my name").
The conversation the user is viewing. The browser ask runs in THIS thread (per-thread browser session), so a new thread = a fresh agent session - no inherited stuck-session state. Omit only for legacy clients, which fall back to a deprecated stable per-user thread.
Response
The agent's reply, run against the caller's connected local browser (computer_* tools + browser prompt)