# Opencli Browser

Drive Chrome with OpenCLI to inspect pages, interact with logged-in sites, capture API...

- Repository: https://github.com/jackwener/OpenCLI (30817 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-10-26
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add jackwener/OpenCLI --skill opencli-browser -g -a claude-code -y`
Codex: `npx skills add jackwener/OpenCLI --skill opencli-browser -g -a codex -y`
Cursor: `npx skills add jackwener/OpenCLI --skill opencli-browser -g -a cursor -y`
Gemini CLI: `npx skills add jackwener/OpenCLI --skill opencli-browser -g -a gemini-cli -y`

## Description

Drive Chrome with OpenCLI to inspect pages, interact with logged-in sites, capture API evidence, and manage native tabs, groups and windows. For reusable adapters, see opencli-adapter-author.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Browser tools for agents

Use the capability that fits the task. Discover commands with `opencli list <query>`;
read exact arguments with `opencli browser <command> --help -f json`.
Run `opencli doctor` when diagnosing a connection problem.

## Scope and results

Page commands require `--session <name>`. Reuse that name across a task; different
sessions isolate page work. `--profile <name>` selects a Chrome profile when needed.
Options can follow command arguments:

```sh
opencli browser open https://example.com --session research
opencli browser state --session research
opencli browser click --role button --name Search --session research
opencli browser close --session research
```

Default output is one JSON value: `{ "ok": true, "data": ... }`.
Failures return `{ "ok": false, "error": { "code": "...", "message": "...", "hint": "..." } }`
and a nonzero exit code. Diagnostic logs go to stderr. `network --follow` and
`console --follow` stream one envelope per line. Help, version and shell completion
are inspection/export surfaces; structured help uses `--help -f json`.

Read the returned data and error fields. When `error.outcome` is `unknown`, inspect
the affected state before retrying a write.

## Page targets and interaction

The rest: https://github.com/jackwener/OpenCLI/blob/HEAD/skills/opencli-browser/SKILL.md
