> ## Documentation Index
> Fetch the complete documentation index at: https://docs-preview.webcompute.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Blockers and CAPTCHA

> Handle blocked browser-agent runs by returning evidence, status, and review paths instead of overclaiming access.

Some sites block automation, require login, show CAPTCHA, or need human review. A good browser-agent workflow reports that state clearly.

## What the agent should do

* Return the blocker status.
* Include the visible page evidence.
* Stop before out-of-scope actions.
* Ask for confirmation when configured.
* Avoid inventing missing data.

## CLI review path

```bash theme={null}
web agent \
  --debug-url \
  --approval ask \
  --url https://www.nhtsa.gov/recalls \
  --allow-domain nhtsa.gov \
  "Search recalls for a sample 2020 Toyota Camry query. Do not enter a real VIN or personal data."
```

## SDK handling

```ts theme={null}
const result = await agent.run({
  startUrl: "https://www.nhtsa.gov/recalls",
  goal: "Search recalls for a sample 2020 Toyota Camry query. Do not enter a real VIN.",
});

if (result.status === "blocked") {
  await queueReview({
    browserId: result.browserId,
    summary: result.text,
    steps: result.steps,
  });
}
```

<Warning>
  Treat CAPTCHA as a review path. If a run needs human or provider-specific resolution, make that step explicit.
</Warning>
