opencode

A setup guide for using Webcmd with OpenCode, a coding-agent application. Webcmd provides browser controls through command-line tools because OpenCode does not include a browser tool.

In plain words
What is it for?
Use it to prepare OpenCode for browser-based tasks, check the browser setup, and configure which web tools the agent may use.
Why use it?
It explains how to install the required tools, load Webcmd's skills, and prevent OpenCode from using its alternative web-fetching tool.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/agentrhq/webcmd/opencode
Clone the repo
git clone --depth 1 https://github.com/agentrhq/webcmd
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 862 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.00862
Opus 5 $0.00000 $0.00431
Sonnet 5 $0.00000 $0.00172
Haiku 4.5 $0.00000 $0.00086

Measured yesterday against content hash b9d42621d033, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

opencode scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

docs/agents/opencode.md · 70 lines

How it starts

The opening of the file, as written. The whole thing — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Agent prompt

Fetch and follow https://raw.githubusercontent.com/agentrhq/webcmd/main/start.md to set up Webcmd end to end.

Manual

Requirements

  • Node.js 20.6+
  • The webcmd npm CLI, installed globally or in the project
  • OpenCode config access (./opencode.json or ~/.config/opencode/opencode.json)
  • A browser runtime; confirm with webcmd doctor before browser work

Install and configure

Install Webcmd and its skills:

npm install -g @agentrhq/webcmd
webcmd doctor
webcmd skills add

When webcmd skills add prompts, choose the agents provider (installs into ~/.agents/skills/, which OpenCode auto-loads). OpenCode then reads webcmd-usage and webcmd-browser as skills.

Restart OpenCode after changing config. Confirm the skill loads with /skills and the permissions are active before starting browser work.

Override default tools

OpenCode's native web tools are webfetch (fetch a URL) and websearch (search). OpenCode has no browser tool.

Deny webfetch so OpenCode cannot fall back to it while Webcmd is its browser surface. Add to opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "permission": {
    "webfetch": "deny"
  }
}

Keep websearch. Webcmd has no search index of its own, so search stays useful — it turns a question into URLs that Webcmd then reads. Note that websearch only registers when the OpenCode provider is in use or OPENCODE_ENABLE_EXA=1 is set, so it may already be absent.

permission values are allow, deny, and ask, and wildcards work ("mymcp_*": "deny") — useful if the user has a browser or scraping MCP that overlaps with Webcmd. Do not add a legacy tools block as well; permission is the supported field. Denying tools does not turn off the Bash tool, which is how webcmd browser is driven.

Troubleshooting

Symptom What to try
webcmd doctor is red Fix the browser runtime first; browser commands depend on it.
Skills not loading in OpenCode Run webcmd skills add with the agents provider, restart OpenCode, and check /skills.
OpenCode still uses webfetch Confirm permission.webfetch is deny in the active config, then restart OpenCode.
websearch is missing entirely It registers only with the OpenCode provider or OPENCODE_ENABLE_EXA=1. Not a Webcmd problem.
webcmd browser errors Read webcmd-usage and webcmd-browser; create a named Session and pass its readable ID as root --session.
Browser Session idles or loses its window Keep its immutable, Profile-scoped ID; webcmd --profile work --session work-project-k7 browser tabs reopens it. Start with webcmd --profile work session create "Work Project"; use webcmd --profile work session list and webcmd --profile work session close work-project-k7 for lifecycle. Adapter commands without --session reuse adapter-default; raw browser commands require an explicit readable selector.

Read the full file on GitHub · 70 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 70 lines · 0 tokens per session scan A b9d42621d033

Subscribe to this mod's changes

opencode is an agent published in the GitHub repository agentrhq/webcmd (1,594 stars, last pushed 2d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 862 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.