GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Webcmd home page
  • Docs
  • Quickstart
  • Prompt Cookbook
  • Aider
  • Claude Code
  • Cline
  • Codex
  • Cursor
  • Custom SDKs
  • Hermes
  • OpenClaw
  • OpenCode
  • Pi

This view

  • Original page
  • New address

GeezerVison is showing webcmd.dev — Command Surface - Webcmd

​
Command Surface

Most people should start with the Prompt Cookbook and let an agent operate Webcmd. This page documents the public browser command surface for debugging and advanced manual use.

​
Sessions

Create a named Session before browser work. Its readable ID is immutable and Profile-scoped, so keep using the same Profile and ID for the Session’s lifetime.
webcmd --profile work session create "Work Project" -f json
# id: work-project-k7
webcmd --profile work --session work-project-k7 browser tabs
webcmd --profile work session list -f json
webcmd --profile work session close work-project-k7
Agents sharing a Profile can work in parallel by creating separate Sessions. An authentication handoff belongs to the Session that started it. Run the returned verification command verbatim because it includes --session when needed. session close is blocked while the Session has a live handoff. session create, session list, and session close accept the universal output formats. An explicit -f table remains a table when redirected, while an empty structured Session list remains machine-readable, such as [] with -f json.

​
Browser Inspection

Use tabs to inspect the Session and snapshot to read page state.
webcmd --profile work --session work-project-k7 browser tabs
webcmd --profile work --session work-project-k7 browser snapshot
webcmd --profile work --session work-project-k7 browser snapshot --snapshot-mode act
webcmd --profile work --session work-project-k7 browser snapshot --snapshot-mode tree
webcmd --profile work --session work-project-k7 browser snapshot --snapshot-mode read
act is the action-first snapshot mode, tree preserves fuller page structure, and read extracts readable article or content text.

​
Browser Programs

Use browser run for a small Playwright-style program inside the selected Session. Exactly one of --file <path> or --stdin is required.
webcmd --profile work \
  --session work-project-k7 \
  browser run --stdin --timeout 45 <<'JS'
await page.goto('https://example.com');
return { url: page.url(), title: await page.title() };
JS
The CLI reads files locally and sends their source, not their path, to the runtime. --timeout is measured in seconds and --max-output bounds returned results and logs. Successful runs include a snapshotDiff by default. Use --no-snapshot-diff only when a read-only program already returns all required state. Programs run in a fresh QuickJS sandbox with page, context, browser, and console globals. They can use supported Page, Frame, and Locator methods and passively inspect request and response events. They cannot access Node.js, the filesystem, environment variables, raw CDP endpoints, browser launch APIs, browser-context ownership, or context.newPage(). On some local Cloak builds, page.setContent() can apply the markup without resolving because Playwright waits for a console event that build does not emit. If the call times out, inspect the page before retrying. For this Cloak case, write the markup directly to keep the page on its current origin:
await page.evaluate(html => {
  document.open();
  document.write(html);
  document.close();
}, html);
await page.waitForLoadState('load');
The public browser surface is tabs, bind, run, and snapshot.

​
Direct URL Fetch

For a public URL that does not require browser rendering, an agent can try a local fetch first:
webcmd web fetch --url https://example.com/article
If the result is FETCH_REQUIRES_BROWSER or FETCH_BLOCKED, continue in an explicit browser Session. web fetch remains local and never opens a browser.

​
Browser Selection

Configure local browser mode with webcmd setup. Cloak is bundled and selected by default. Chrome uses an installed Google Chrome with Webcmd-managed Profiles, SLAB is a macOS alpha option, and an absolute path selects a compatible local browser executable.
webcmd setup --browser cloak
webcmd setup --browser chrome
webcmd setup --browser slab
webcmd setup --browser /absolute/path/to/browser
webcmd setup --status
After changing browsers, restart the daemon if needed and run webcmd doctor. The Chrome transport uses a normal headed launch over a nonzero loopback CDP port; this is not a claim that Chrome is generally undetectable.

​
Profiles

Profiles keep browser identity and sign-in state separate.
webcmd profile list -f json
webcmd profile rename <context-id> work
webcmd profile use work
In local mode, arbitrary --profile <name> values lazily create separate local state. In hosted mode, --profile <name> selects an identity within the active workspace. An omitted selector uses that workspace’s default Profile. Prompt example:
Use the `work` Profile for this Webcmd task. If it is not authenticated, pause
and let me sign in directly in the browser.

​
Hosted Workspaces

Flag or environment variablePurpose
--workspace <id>Select the hosted workspace for this invocation.
WEBCMD_WORKSPACESelect the hosted workspace when the flag is omitted.
Resolution order is the flag, then the environment variable, then the implicit default workspace. Local mode has no workspace concept.

​
Hosted Artifacts

Hosted browser receipts retain their cloud-artifact:// locator and include an authenticated download URL. Download an artifact with:
webcmd artifact download <download-url> --output <local-path>
--output is required. Webcmd authenticates the request using the configured Cloud credentials.

​
Top-Level Commands

CommandPurpose
setupConfigure the local browser runtime.
doctorDiagnose browser runtime and daemon connectivity.
daemonInspect, stop, or restart the local daemon.
sessionCreate, list, and close browser Sessions.
browserInspect and operate a live browser Session.
webFetch a public URL without opening a browser.
profileList, rename, select, or delete browser Profiles.
authInspect authentication state and continue sign-in handoffs.
artifactDownload a hosted browser artifact.
skillsInstall, update, list, or remove the Webcmd browser skill.
completionPrint shell completion scripts.

​
Output Formats

Commands that return data support table, plain, json, yaml, md, and csv through -f/--format. Agents should normally request JSON; table and plain formats are easier to read manually.
webcmd session list -f json
webcmd profile list -f table
webcmd doctor -f json
webcmd daemon status -f json
yml and markdown are aliases for yaml and md.

​
Skills

The package ships one agent skill, webcmd-browser:
webcmd skills list
webcmd skills add
webcmd skills update
webcmd skills remove
On a TTY, skills add prompts for any missing scope and agent harness. Use --scope <user|project> and --provider <agents|codex|claude> to skip those prompts, or --path <skills-dir> for a custom location.

​
Useful Paths

PathPurpose
~/.webcmd/User-level Webcmd state.
~/.webcmd/cache/browser-network/Browser network capture cache.
~/.webcmd/cache/browser-run/Browser-run screenshot artifacts.
skills/Bundled agent skill shipped with the package.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.