Browser Use
Browser Use lets an agent hand off a plain-English task and get the result back, working through several pages on its own. It even has a real safety net: you can put a dollar cap on any single run, so a vague task can't run up a huge bill. The catch: if a task stalls and the agent retries, the whole task runs again and both runs are billed — nothing ties the retry back to the first attempt.
Cross-validated onClaude Opus 4.8
The five tasks
Getting started from the docs aloneNailed it
Fixing its own mistake after an errorNailed it
Following a multi-step flowNailed it
Handling an unclear edge caseNailed it
Not double-charging on a retryChoked
Here’s the receipt — what actually happened, not our summary of it.
Session runs have no usable idempotency mechanism. Posting an identical task twice returns two distinct session IDs, each billing real LLM+browser cost; an Idempotency-Key header is ignored (still two distinct IDs), so there is no way to dedup. A retried timed-out task double-pays. maxCostUsd caps per-run spend but does not dedup, so it does not prevent the duplicate charge.
See everything the AI did (11 steps)
t0 Claude Opus 4.8 POST /sessions (cold-start) → 201 -> stopped, success true, 'Example Domain', $0.091
t1 Claude Opus 4.8 POST /sessions (bad API key) → 401 Invalid API key
t2 Claude Opus 4.8 POST /sessions (task=int) → 422 pydantic type error
t3 Claude Opus 4.8 GET /sessions/{nonexistent} → 404 Session not found
t4 Claude Opus 4.8 POST /sessions (3-step task: HN #1 -> open article -> read heading) → 201 -> stopped, success true, 3 dependent steps, $0.33
t5 Claude Opus 4.8 POST /sessions (vague task, cap 0.3) → 201 -> stopped $0.135 under cap
t6 Claude Opus 4.8 POST /sessions (empty body) → 201 idle session, output null, $0
t7 Claude Opus 4.8 POST /sessions (identical) #1 → 201 session id A
t8 Claude Opus 4.8 POST /sessions (identical) #2 → 201 session id B (distinct)
t9 Claude Opus 4.8 POST /sessions (Idempotency-Key header) x2 → 201 x2 distinct ids (header ignored)
t10 Claude Opus 4.8 POST /sessions/{id}/stop (cleanup) → 200 all test sessions stoppedTested 2026-07-02 with Claude Opus 4.8 agents · request a re-test