You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bump agent-browser from pinned 0.11.1 to latest. Rewrite all CDP
documentation to cover Chrome 136+ --user-data-dir requirement,
Chrome 144+ checkbox method, and host.docker.internal for container
networking. Add new Windows Networking guide for WSL 2 mirrored mode
as the recommended Windows port-forwarding approach. Cross-reference
from before-you-install, accessing-services, troubleshooting, and
devcontainer-cli pages.
Copy file name to clipboardExpand all lines: container/.devcontainer/CHANGELOG.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,17 @@
29
29
-**Install order guaranteed** — oh-my-claude added to `overrideFeatureInstallOrder` in devcontainer.json.
30
30
-**Documentation** — added Known Limitations section covering expected `omc doctor` failures, missing slash commands (upstream issue), and role agent filtering.
31
31
32
+
### Agent Browser
33
+
34
+
-**Version bumped to latest** — updated from pinned 0.11.1; picks up `--auto-connect` fixes and CDP improvements through v0.26.0
35
+
-**Host Chrome CDP documentation overhauled** — corrected Chrome version requirements (136+ needs `--user-data-dir`, 144+ has `chrome://inspect` checkbox), documented `host.docker.internal` for container-to-host networking, fixed flag naming (`--auto-connect` not `--autoConnect`), added Windows PowerShell launch commands
36
+
37
+
### Documentation
38
+
39
+
-**New guide: Windows Networking** — comprehensive WSL 2 mirrored networking setup for Windows users; recommended approach for port forwarding, replacing `dbr` on Windows
40
+
-**Cross-references added** — before-you-install, accessing-services, troubleshooting, and devcontainer-cli pages now link to the Windows networking guide
41
+
-**Agent-browser CDP troubleshooting** — new troubleshooting section for host Chrome connection issues (localhost vs host.docker.internal, Chrome version requirements, port exposure)
Copy file name to clipboardExpand all lines: container/.devcontainer/features/agent-browser/README.md
+20-12Lines changed: 20 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,18 +48,26 @@ agent-browser close
48
48
49
49
### Host Chrome Connection
50
50
51
-
Connect to Chrome running on your host machine via CDP (Chrome DevTools Protocol):
51
+
Connect to Chrome running on your host machine via CDP (Chrome DevTools Protocol). Useful when the container's bundled Chromium is insufficient (e.g., specific browser extensions or logged-in sessions needed).
Connect from the container using `host.docker.internal` — not `localhost`, which refers to the container itself:
68
+
69
+
```bash
70
+
agent-browser connect host.docker.internal:9222
71
+
```
72
+
73
+
> **Security note:** CDP exposes the full browser session (cookies, storage, DOM) to anything that can reach the debug port. Use with caution on shared or networked machines.
Copy file name to clipboardExpand all lines: container/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/agent-browser/SKILL.md
+24-11Lines changed: 24 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,7 +61,7 @@ agent-browser close
61
61
|`fill @eN "text"`| Type text into an input element |`agent-browser fill @e3 "hello"`|
62
62
|`select @eN "value"`| Select an option from a dropdown |`agent-browser select @e5 "option1"`|
63
63
|`cookie set "..."`| Set a cookie for authenticated sessions |`agent-browser cookie set "session=abc123; domain=.example.com"`|
64
-
|`connect <port>`| Connect to host Chrome via CDP |`agent-browser connect 9222`|
64
+
|`connect <host:port>`| Connect to host Chrome via CDP |`agent-browser connect host.docker.internal:9222`|
65
65
|`close`| End the browser session |`agent-browser close`|
66
66
67
67
> **Full details:** See `references/cli-reference.md` for complete command syntax, output formats, and all options.
@@ -121,25 +121,38 @@ agent-browser close
121
121
122
122
### Host Chrome Connection
123
123
124
-
Connect to Chrome running on your host machine via CDP (Chrome DevTools Protocol). Useful when the container's bundled Chromium is insufficient (e.g., specific browser extensions needed):
124
+
Connect to Chrome running on your host machine via CDP (Chrome DevTools Protocol). Useful when the container's bundled Chromium is insufficient (e.g., specific browser extensions or logged-in sessions needed).
125
125
126
-
1. Start Chrome on host with remote debugging:
127
-
```bash
128
-
chrome --remote-debugging-port=9222
129
-
```
126
+
**Chrome 144+** (recommended): No CLI launch needed. Enable remote debugging via a checkbox:
127
+
1. Open `chrome://inspect/#remote-debugging` in Chrome
128
+
2. Check "Enable remote debugging" — Chrome listens on port 9222 by default
130
129
131
-
2. Connect from container:
132
-
```bash
133
-
agent-browser connect 9222
134
-
```
130
+
**Chrome 136–143**: Chrome 136+ requires `--user-data-dir` alongside `--remote-debugging-port` or the flag is silently ignored:
Connect from the container — always use `host.docker.internal`, not `localhost`:
141
+
142
+
```bash
143
+
agent-browser connect host.docker.internal:9222
144
+
```
145
+
146
+
For Windows users, [mirrored networking](/start-here/windows-networking/) provides the smoothest experience for host Chrome CDP and general port forwarding.
135
147
136
148
---
137
149
138
150
## Ambiguity Policy
139
151
140
152
These defaults apply when the user does not specify a preference. State the assumption when applying a default:
141
153
142
-
-**Mode:** Always use headless mode (bundled Chromium) unless the user explicitly requests host Chrome connection
154
+
-**Mode:** Always use headless mode (bundled Chromium) unless the user explicitly requests host Chrome connection. When host Chrome is requested, default to `host.docker.internal:9222` as the CDP endpoint.
155
+
-**Networking:** When connecting to host Chrome from inside a container, always use `host.docker.internal` — never `localhost`
143
156
-**Snapshot first:** Always run `snapshot` before interacting with elements — never guess element references
144
157
-**Snapshot after:** Always run `snapshot` after interactions to verify results
145
158
-**Close when done:** Always `close` the browser session when the task is complete
Copy file name to clipboardExpand all lines: container/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/agent-browser/references/cli-reference.md
+18-7Lines changed: 18 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -187,29 +187,38 @@ agent-browser cookie set "auth_token=xyz789; domain=.app.example.com; path=/; se
187
187
Connects to a Chrome instance running on the host via Chrome DevTools Protocol (CDP).
188
188
189
189
```bash
190
-
agent-browser connect <port>
190
+
agent-browser connect <host:port>
191
191
```
192
192
193
193
**Arguments:**
194
-
- `<port>` — The remote debugging port Chrome is listening on
194
+
- `<host:port>` — The CDP endpoint. Use `host.docker.internal:9222` when running inside a devcontainer.
195
195
196
196
**Prerequisites:**
197
-
Chrome must be started on the host with remote debugging enabled:
197
+
Chrome must have remote debugging enabled on the host before connecting.
198
+
199
+
**Chrome 144+** (recommended): No CLI launch needed. Enable via a checkbox:
200
+
1. Open `chrome://inspect/#remote-debugging` in Chrome
201
+
2. Check "Enable remote debugging" — Chrome listens on port 9222 by default
202
+
203
+
**Chrome 136–143**: Chrome 136+ requires `--user-data-dir` alongside `--remote-debugging-port` or the flag is silently ignored:
Copy file name to clipboardExpand all lines: container/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/agent-browser/references/workflow-patterns.md
+53Lines changed: 53 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -146,6 +146,59 @@ agent-browser close
146
146
147
147
---
148
148
149
+
## Host Chrome CDP Session
150
+
151
+
Connect to Chrome running on your host machine to use an existing logged-in session, extensions, or saved passwords. This is the recommended approach when the container's bundled Chromium cannot access what you need.
152
+
153
+
### Prerequisites
154
+
155
+
The user must enable Chrome remote debugging on their host machine before you can connect.
156
+
157
+
**Chrome 144+** (recommended): No CLI launch needed. The user enables remote debugging via a checkbox:
158
+
1. Open `chrome://inspect/#remote-debugging` in Chrome
159
+
2. Check "Enable remote debugging"
160
+
3. Chrome listens on port 9222 by default
161
+
162
+
**Chrome 136–143**: Launch Chrome with explicit flags:
Copy file name to clipboardExpand all lines: docs/src/content/docs/reference/changelog.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,6 +54,8 @@ For minor and patch updates, you can usually just rebuild the container. Check t
54
54
-**New feature: `hermes-agent`** — installs [Nous Research's Hermes Agent](https://hermes-agent.nousresearch.com/) CLI via the upstream `curl | bash` installer with `--skip-setup`. Hermes uses the plain `anthropic` / `openai` Python SDKs directly and supports any compatible provider (Anthropic, OpenAI, MiniMax, local models). Enabled by default; set `"version": "none"` in `devcontainer.json` to disable.
55
55
-**Hermes persistence** — dedicated Docker named volume (`codeforge-hermes-config-${devcontainerId}`) for `~/.hermes/`, surviving container rebuilds so `hermes setup` is a one-time cost per devcontainer instance.
56
56
-**No credential seeding** — the interactive `hermes setup` wizard is intentionally skipped during image build. Run `hermes setup` on first use to pick a provider and paste an API key (e.g. from `$MINIMAX_API_KEY`, which already has a slot in `.secrets.example`). Claude OAuth / Codex ChatGPT OAuth cannot be reused — Hermes needs its own provider auth.
57
+
-**Install script now warns on unsupported `version` values** — Hermes upstream has not tagged releases yet, so anything other than `latest` or `none` silently installed HEAD of `main`. The installer now prints a clear WARNING when `version` is set to a semver or unrecognized value, making it obvious that the pin is not honored.
58
+
-**Install script warns on volume-mount mismatch** — the Hermes config volume in `devcontainer.json` is pinned to `/home/vscode/.hermes`. If the feature's auto-detected user resolves to anything other than `vscode` (e.g. `node`, `codespace`, `root`), the installer now surfaces a WARNING that `hermes setup` state will not persist across rebuilds, instead of silently breaking.
57
59
58
60
### Configuration
59
61
@@ -74,6 +76,17 @@ For minor and patch updates, you can usually just rebuild the container. Check t
74
76
-**Install order guaranteed** — oh-my-claude added to `overrideFeatureInstallOrder` in devcontainer.json.
75
77
-**Documentation** — added Known Limitations section covering expected `omc doctor` failures, missing slash commands (upstream issue), and role agent filtering.
76
78
79
+
### Agent Browser
80
+
81
+
-**Version bumped to latest** — updated from pinned 0.11.1; picks up `--auto-connect` fixes and CDP improvements through v0.26.0
82
+
-**Host Chrome CDP documentation overhauled** — corrected Chrome version requirements (136+ needs `--user-data-dir`, 144+ has `chrome://inspect` checkbox), documented `host.docker.internal` for container-to-host networking, fixed flag naming (`--auto-connect` not `--autoConnect`), added Windows PowerShell launch commands
83
+
84
+
### Documentation
85
+
86
+
-**New guide: Windows Networking** — comprehensive WSL 2 mirrored networking setup for Windows users; recommended approach for port forwarding, replacing `dbr` on Windows
87
+
-**Cross-references added** — before-you-install, accessing-services, troubleshooting, and devcontainer-cli pages now link to the Windows networking guide
88
+
-**Agent-browser CDP troubleshooting** — new troubleshooting section for host Chrome connection issues (localhost vs host.docker.internal, Chrome version requirements, port exposure)
Copy file name to clipboardExpand all lines: docs/src/content/docs/reference/troubleshooting.md
+39Lines changed: 39 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -144,6 +144,45 @@ Check:
144
144
2. Your distro is using WSL 2, not WSL 1.
145
145
3. Docker Desktop was restarted after settings changes.
146
146
147
+
## Agent-Browser Cannot Connect to Host Chrome
148
+
149
+
Symptom: `agent-browser connect` fails with connection refused, timeout, or empty response.
150
+
151
+
Check these in order:
152
+
153
+
1.**Are you using `host.docker.internal`?** Inside a container, `localhost` refers to the container itself. Use `host.docker.internal:9222` to reach the host.
- Chrome 144+: Open `chrome://inspect/#remote-debugging` and check that "Enable remote debugging" is checked.
157
+
- Chrome 136–143: Chrome must be launched with both `--remote-debugging-port=9222`**and**`--user-data-dir`. Chrome 136+ silently ignores the port flag without a user data directory.
158
+
- Verify from the host: `curl http://localhost:9222/json/version` should return JSON.
If this fails, the host is not reachable. Windows users should enable [mirrored networking](/start-here/windows-networking/).
165
+
166
+
4.**Is another Chrome instance blocking the port?** Only one Chrome process can listen on a given debug port. Close other Chrome instances or use a different port.
167
+
168
+
5.**Firewall blocking?** Windows Firewall may block incoming connections on port 9222. Add an inbound rule or temporarily disable the firewall to test.
169
+
170
+
## Mirrored Networking Not Working
171
+
172
+
Symptom: After enabling mirrored networking in `.wslconfig`, ports are still not accessible between host and container.
173
+
174
+
Check these in order:
175
+
176
+
1.**Did you restart WSL?** Changes to `.wslconfig` require `wsl --shutdown` from PowerShell, then restarting your WSL distribution or Docker Desktop.
177
+
178
+
2.**Is mirrored mode actually active?** Run `wsl --status` from PowerShell and look for "Networking mode: Mirrored".
179
+
180
+
3.**VPN conflict?** Cisco AnyConnect and some VPN clients break mirrored networking. Disconnect the VPN and test again. See the [Windows Networking guide](/start-here/windows-networking/#vpn-conflicts) for workarounds.
181
+
182
+
4.**Windows update regression?** Microsoft occasionally ships updates that break mirrored mode. Check [WSL GitHub Issues](https://github.com/microsoft/WSL/issues) for known regressions. Revert to NAT mode as a temporary workaround.
183
+
184
+
5.**Docker Desktop version?** Mirrored networking requires Docker Desktop 4.26.0 or later. Update Docker Desktop if you're on an older version.
Copy file name to clipboardExpand all lines: docs/src/content/docs/start-here/before-you-install.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,6 +58,12 @@ CodeForge installs Claude Code inside the container, but you still need valid Cl
58
58
59
59
Windows users need **WSL 2**. Docker Desktop's legacy Hyper-V path is not supported for this workflow.
60
60
61
+
:::tip[Recommended: Enable mirrored networking]
62
+
For the best experience on Windows, enable WSL 2 mirrored networking. It provides seamless port forwarding between your container and host — required for [host Chrome CDP connections](/start-here/windows-networking/#chrome-remote-debugging-setup) and eliminates the need for manual port forwarding tools.
63
+
64
+
See the [Windows Networking guide](/start-here/windows-networking/) for setup instructions.
0 commit comments