# Agentcore Browser

> Browse web pages using a headless Chromium browser running inside the AgentCore container. Navigate to URLs, take screenshots, and interact with page elements (click, type, wait, scroll). Requires enable_browser=true in CDK config. Use when the user asks to visit a website, take a screenshot, fill in a form, or interact with a web page. Use when this capability is needed.

- Skill: `tomevault-io/agentcore-browser` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/agentcore-browser`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/agentcore-browser/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/agentcore-browser

---


# AgentCore Browser

Headless Chromium browser running inside the AgentCore container. Navigate to URLs, take screenshots, and interact with page elements.

## Important

This skill requires `enable_browser=true` in CDK configuration. If the browser is not available, the tools will return a clear error message.

## Usage

### browser_navigate

Navigate to a URL and return the page title and text content.

```bash
node {baseDir}/navigate.js '{"url": "https://example.com"}'
```

- `url` (required): The URL to navigate to

Returns JSON: `{"url": "...", "title": "...", "content": "..."}`

Content is truncated to 8000 characters to keep responses manageable.

### browser_screenshot

Take a screenshot of the current browser page and send it to the user.

```bash
node {baseDir}/screenshot.js '{"description": "Homepage after login"}'
```

- `description` (optional): Caption for the screenshot

Returns text with `[SCREENSHOT:{s3key}]` marker that the proxy converts to an image.

### browser_interact

Interact with the current page — click elements, type text, wait for elements, or scroll.

```bash
node {baseDir}/interact.js '{"action": "click", "selector": "#submit-btn"}'
node {baseDir}/interact.js '{"action": "type", "selector": "#search", "text": "hello"}'
node {baseDir}/interact.js '{"action": "wait", "selector": ".results"}'
node {baseDir}/interact.js '{"action": "scroll"}'
```

- `action` (required): One of `click`, `type`, `wait`, `scroll`
- `selector` (optional): CSS selector for the target element (required for click, type, wait)
- `text` (optional): Text to type (required for type action)

Returns JSON: `{"success": true, "message": "..."}`

## From Agent Chat

- "Go to example.com" -> browser_navigate with url
- "Take a screenshot" -> browser_screenshot
- "Click the login button" -> browser_interact with action=click
- "Type my email in the form" -> browser_interact with action=type
- "Scroll down" -> browser_interact with action=scroll
- "Wait for the results to load" -> browser_interact with action=wait

## Security Notes

- Browser runs inside an isolated per-user microVM
- Screenshots are uploaded to the user's S3 namespace (no cross-user access)
- The browser session file is stored at `/tmp/agentcore-browser-session.json`
- Navigation timeout: 30s, interaction timeout: 10s, wait timeout: 15s

---
> Source: [aws-samples/sample-host-openclaw-on-amazon-bedrock-agentcore](https://github.com/aws-samples/sample-host-openclaw-on-amazon-bedrock-agentcore) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-25 -->

