clawchrome-cli is a Go CLI that mirrors the high-level shape of chrome-devtools-axi:
- TOON-formatted output
- a persistent local bridge process
chrome-devtools-mcplaunched over stdio- a browser-oriented CLI with AXI-style ergonomics
This subtree is maintained inside the parent monorepo, but the Go project itself is self-contained:
- its own
go.mod - its own
mise.toml - no
Containerfile
mise run fmt
mise run mod:tidy
mise run test
mise run buildThe main binary is built to ./.bin/clawchrome-cli.
Install the latest release:
curl -fsSL https://raw.githubusercontent.com/gvkhna/clawchrome-cli/main/install.sh | shInstall a specific version:
curl -fsSL https://raw.githubusercontent.com/gvkhna/clawchrome-cli/main/install.sh | sh -s -- --version v0.1.0By default the installer writes to ~/.local/bin.
Print the current version:
clawchrome-cli versionUpdate to the latest release:
clawchrome-cli self-updateUpdate to a specific release:
clawchrome-cli self-update v0.1.0This repo is configured for GoReleaser-based releases.
Local validation:
mise run release:check
mise run release:snapshotGitHub releases:
- pushing a
v*tag runs.github/workflows/release.yml - GoReleaser publishes raw release binaries for Linux, Windows, and macOS
- macOS artifacts are published separately for
darwin/amd64anddarwin/arm64
This is the Go implementation scaffold and initial translation target for chrome-devtools-axi.
The command surface and bridge architecture are aligned with the JavaScript implementation, while staying idiomatic to Go.
These are the normal-mode CDP MCP APIs we intend to support.
[-] click- Clicks on the provided element[-] close_page- Closes the page by its index. The last open page cannot be closed.[-] drag- Drag an element onto another element[-] fill- Type text into an input, text area or select an option from a select element.[-] fill_form- Fill out multiple form elements at once[-] handle_dialog- Handle an open browser dialog[-] hover- Hover over the provided element[-] list_pages- Get a list of pages open in the browser[-] navigate_page- Go to a URL, back, forward, or reload[-] new_page- Open a new tab and load a URL[-] press_key- Press a key or key combination[-] resize_page- Resize the selected page window[-] select_page- Select a page for future tool calls[-] take_screenshot- Take a viewport or full-page screenshot[-] take_snapshot- Take a text accessibility snapshot[-] type_text- Type text into a previously focused input[-] upload_file- Upload a file through a provided element[-] wait_for- Wait for text to appear on the selected page
These tools are not part of the default public surface, but they are still in scope for support.
[-] click_at- Coordinate click helper gated by--experimental-vision[-] get_tab_id- Read the Chrome tab ID for a page[-] screencast_start- Start mp4 screencast recording[-] screencast_stop- Stop the active screencast recording
Slim mode replaces the normal tool surface with these alternate APIs. They are in scope when the slim surface is exposed.
[-] navigate- Load a URL[-] evaluate- Evaluate a JavaScript script[-] screenshot- Take a screenshot
These upstream CDP MCP APIs are audited for compatibility reference only. They are not runtime support commitments.
emulateevaluate_scriptget_console_messageget_network_requestlighthouse_auditlist_console_messageslist_network_requestsperformance_analyze_insightperformance_start_traceperformance_stop_tracetake_memory_snapshotinstall_extensionuninstall_extensionlist_extensionsreload_extensiontrigger_extension_actionlist_in_page_toolsexecute_in_page_tool