Hubcap Bridge: Persistent Two-Way Messaging Between CLI and Browser JavaScript via CDP

What Hubcap Bridge Does
Hubcap Bridge establishes a persistent two-way message channel between a local process and JavaScript running in a browser page using the Chrome DevTools Protocol. This addresses the gap where web apps lack public APIs or developers don't have access to them, but the apps have rich client-side JavaScript APIs powering their UI.
Key Features and Usage
The bridge command syntax is:
hubcap bridge --target "$TAB" ' for await (const msg of messages) { const result = await window.appAPI.query(msg.sql); send({rows: result}); } 'Communication happens via stdin/stdout carrying LDJSON format. Heartbeats detect disconnection, and multiple bridges can run in the same tab.
Practical Applications
This enables building Claude Code skills that include a local server kept in sync with a web page through its internal APIs. The server uses bridge to push and pull data through the page's JavaScript layer, with Claude communicating to the server. This approach avoids HTML scraping and doesn't require waiting for someone to build an MCP server.
Because CDP-injected code runs in the page's own context, there are no CORS, CSP, or mixed content issues to work around. The author notes: "If you can call it from the browser console, you can pipe it through bridge."
Additional Release Notes
Also in this release: eval now supports top-level await.
Important Consideration
The source includes this note: "(Make sure you're staying within the terms of service of whatever you're integrating with.)"
Resources
- Blog post: https://tomyandell.dev/blog/hubcap-bridge
- Hubcap plugin: https://github.com/tomyan/claude-skill-hubcap
- Docs: https://hubcap.tomyandell.dev
- Source: https://github.com/tomyan/hubcap
📖 Read the full source: r/ClaudeAI
👀 See Also

Benchmark: Gemma4 12B vs Qwen3 8B quantized on 24GB Mac Mini
A developer tested Gemma4 12B against Qwen3:8b-q4_K_M on a 24GB Mac Mini using two prompts. Qwen3 processed prompts 4-5x faster, while Gemma4 generated output slightly faster.

Sovr MCP Proxy adds safety layer to prevent LLM destructive commands
A developer built sovr-mcp-proxy after a local LLM nearly executed rm -rf on their home folder. The tool intercepts commands before execution and blocks destructive patterns including rm -rf, DROP TABLE, curl | sh, and chmod 777.

Memento v1.0: Local Persistent Memory for AI Coding Agents
Memento v1.0 is a fully local memory layer for AI coding agents that runs embeddings, storage, and search on your machine with no cloud dependencies. It uses all-MiniLM-L6-v2 embeddings, HNSW indexing, and supports multiple IDEs with 17 MCP tools.

Telegram Bot to Manage Headless Claude Code Channels via tmux
A zero-dependency Python Telegram bot that launches, stops, and monitors Claude Code Channels sessions in tmux on a headless server, with watchdog auto-restart.