codex-chrome-bridge 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +38 -21
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -4,43 +4,56 @@
4
4
  [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
5
5
  [![Node](https://img.shields.io/badge/Node.js-24%2B-green.svg)](https://nodejs.org)
6
6
 
7
- > MCP server that lets Codex control Chrome through the same bridge Claude Code already uses.
7
+ > Use Codex with the same Chrome path Claude in Chrome already uses — without patching Claude's side.
8
8
 
9
- **The idea**: Claude Code + Claude in Chrome already have a working browser connection on your machine.
10
- This wrapper discovers that connection and exposes it to Codex via MCP no Puppeteer, no Playwright,
11
- no separate browser instance. Just reuse what's already running.
9
+ **The idea**: if Claude in Chrome already works on your machine, this wrapper lets Codex ride the same path.
10
+ No Puppeteer, no Playwright, no forked extension, no second browser instancejust reuse the browser connection that already exists.
11
+
12
+ **Zero modifications to Claude's side.** The Claude in Chrome extension, the native messaging host, and Claude Code itself are left untouched. This wrapper is a read-only consumer of the existing bridge: it discovers the live socket, speaks the same protocol, and rides along without patching your Claude setup.
13
+
14
+ **Why that matters operationally**: you keep your existing Chrome profile, existing logged-in sessions, and existing CiC setup. If this wrapper breaks, you fix or stop the wrapper repo — not your Claude installation. You also do **not** need to keep a Claude Code terminal session open while using the MCP; the existing local CiC/native-host runtime just needs to be present on the machine.
15
+
16
+ ![Claude and Codex sharing the same Chrome browser via MCP](docs/images/chrome-tabs-mcp.png)
12
17
 
13
18
  ---
14
19
 
15
20
  ## How it works
16
21
 
17
22
  ```
18
- Codex ──stdio──▶ codex-chrome-bridge (MCP) ──socket──▶ Claude native host ──▶ Chrome (CiC extension)
19
-
23
+ ┌──────────────────────────────────────────┐
24
+ Untouched Claude infra
25
+ │ │
26
+ Codex ──stdio──▶ codex-chrome-bridge (MCP) ──socket──▶ Claude native host ──▶ Chrome
27
+ │ │ (CiC extension)
20
28
  22 MCP tools Existing bridge
21
- (browser_*) (already running)
29
+ (browser_*) (not modified in any way)
30
+ │ │
31
+ └──────────────────────────────────────────┘
22
32
  ```
23
33
 
24
- 1. **Claude Code + Claude in Chrome** establish a native-messaging bridge to Chrome
25
- 2. **This wrapper** discovers that bridge's Unix socket and connects to it
34
+ 1. **Claude in Chrome + the local Claude native-host runtime** establish the browser bridge that already exists on your machine
35
+ 2. **This wrapper** discovers that bridge's live Unix socket via process inspection and connects as a second consumer
26
36
  3. **Codex** sees 22 browser tools through a standard MCP interface
27
- 4. No new browser instance, no new extension, no new permissions — just reuse
37
+ 4. No patches, no forks, no extension modifications, no Claude-side config rewrites — just discovery and reuse
28
38
 
29
- **Why this matters**: Instead of building yet another browser automation stack, this project proves that Codex can piggyback on Claude Code's existing browser integration with zero additional infrastructure.
39
+ **Why this matters**: this project does not build a separate browser automation stack. It lets Codex coexist with your existing Claude-in-Chrome path while keeping blast radius low: the wrapper is the moving part, not your Claude setup.
30
40
 
31
41
  ---
32
42
 
33
43
  ## What makes this different
34
44
 
35
- | | Typical browser MCP | codex-chrome-bridge |
36
- |--------------------------|--------------------------------|-----------------------------------|
37
- | **Browser instance** | Spawns its own | Reuses your existing Chrome |
38
- | **Extension required** | Usually its own | Claude in Chrome (already there) |
39
- | **Login sessions** | Separate (must re-login) | Shares your existing sessions |
40
- | **Tab management** | Independent | Uses CiC's managed tab groups |
41
- | **Permission model** | Varies | CiC's permission choreography |
42
- | **Dependencies** | Playwright / Puppeteer / etc. | Zero (Node.js built-ins only) |
43
- | **Setup** | Install + configure + launch | Discover + connect |
45
+ | | Typical browser MCP | codex-chrome-bridge |
46
+ |------------------------------|--------------------------------|---------------------------------------|
47
+ | **Modifies Claude/extension**| N/A | No zero changes to Claude's side |
48
+ | **Needs Claude terminal open** | Varies | No not during normal MCP use |
49
+ | **Browser instance** | Spawns its own | Reuses your existing Chrome |
50
+ | **Extension required** | Usually its own | Claude in Chrome (already installed) |
51
+ | **Login sessions** | Separate (must re-login) | Shares your existing sessions |
52
+ | **Tab management** | Independent | Uses CiC's managed tab groups |
53
+ | **Rollback cost** | Often medium | Low stop the wrapper, Claude side stays as-is |
54
+ | **Permission model** | Varies | CiC's permission choreography |
55
+ | **Dependencies** | Playwright / Puppeteer / etc. | Zero (Node.js built-ins only) |
56
+ | **Setup** | Install + configure + launch | Discover + connect |
44
57
 
45
58
  ---
46
59
 
@@ -48,7 +61,7 @@ Codex ──stdio──▶ codex-chrome-bridge (MCP) ──socket──▶ Claud
48
61
 
49
62
  - **macOS** (native-messaging path is macOS-specific for now)
50
63
  - **Node.js 24+**
51
- - **Claude Code** installed and working
64
+ - **Existing Claude in Chrome/native-host runtime** present on the machine
52
65
  - **Claude in Chrome** extension active in Chrome
53
66
  - Chrome running with at least one tab
54
67
 
@@ -76,6 +89,8 @@ codex-chrome-bridge probe
76
89
 
77
90
  You should see `connect_ok: true` and `status_ok: true`.
78
91
 
92
+ This confirms that the existing CiC/native-host path is live. It does **not** require you to keep a Claude Code terminal session open.
93
+
79
94
  ### 3. Start the MCP server
80
95
 
81
96
  ```bash
@@ -91,6 +106,8 @@ npx codex-chrome-bridge validate # prompt-safe, no popups
91
106
  npx codex-chrome-bridge validate --live-browser # full browser sweep
92
107
  ```
93
108
 
109
+ If you stop using the wrapper, your Claude side stays untouched: no extension patch to roll back, no forked host to uninstall, no browser profile rewrite to undo.
110
+
94
111
  ---
95
112
 
96
113
  ## MCP Tools (22)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-chrome-bridge",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "MCP server that lets Codex control Chrome through Claude Code's existing browser bridge",
5
5
  "type": "module",
6
6
  "main": "src/bridge.js",