Chrome DevTools panel with terminal and browser context injection for Claude Code
Project description
devpanel
Chrome DevTools panel with an embedded terminal and browser context injection for Claude Code.
What it does
Opens a terminal inside Chrome DevTools. Claude Code runs in that terminal with a hook that automatically injects browser context into every prompt.
Pin elements — select in Elements panel, click Pin, $0 (selector + HTML + bounds) queues for the next prompt.
Capture network — snapshot requests from devtools.network.getHAR() into the queue.
Screenshot nodes — CDP Page.captureScreenshot with clip from DOM.getBoxModel, queued.
Everything drains on prompt submit. Claude Code sees the browser context without you describing it.
Architecture
DevTools panel (Svelte 5, xterm.js)
├── Terminal ──ws──→ PTY daemon (:random)
├── Pin $0 ──http──→ /stack (push)
└── Capture ──http─→ /stack (push)
Claude Code (inside PTY)
└── hook: curl /stack (drain + clear)
Three pieces, no coupling:
| Component | Role |
|---|---|
| Extension | DevTools panel UI, pushes context to stack |
| PTY daemon | WebSocket terminal + /stack HTTP endpoint |
| Hook | claude wrapper drains stack into prompt |
No relay, no auth, no content scripts. DevTools APIs (inspectedWindow.eval, network.getHAR, chrome.debugger) replace all of it.
Install
uv tool install devpanel
devpanel install # registers native messaging host, prints extension path
Then load the extension in chrome://extensions → Load unpacked → point to the printed path.
Dev
# Extension (CRXJS + Svelte 5 + Tailwind)
cd extension-src
npm install && npm run dev
# Daemon
cd src/devpanel
uv run devpanel start
Build
make build
# 1. npm run build in extension-src/
# 2. copies dist/ → src/devpanel/extension/
# 3. uv build
Built extension is bundled as package data. uv tool install gives you the CLI, daemon, and extension files. One install.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devpanel-0.1.0.tar.gz.
File metadata
- Download URL: devpanel-0.1.0.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ee672c74bbe306d6baca3ad231157065c25f42eca1de0e196eeff462d89b16f
|
|
| MD5 |
4827d174d1258c5cd5601472f3aff461
|
|
| BLAKE2b-256 |
1fdff580d1c8dc34f33c5e30d381590228e4da1a905648ef179385c6618c138d
|
File details
Details for the file devpanel-0.1.0-py3-none-any.whl.
File metadata
- Download URL: devpanel-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
363ac62031ba9f5eab95121c871bc959806166dfca68cea12174220e8cefcf74
|
|
| MD5 |
471f94e0090cc030f1d7ec102c278cca
|
|
| BLAKE2b-256 |
0954c3c1a7fc94c5944d582d8701d7c5b355415149165df70411e863eb561610
|