Repository navigation
Releases
Copane 0.3.0 (preview)
Agents can hand a tab to you, keep separate logins per environment, audit pages for accessibility
and performance, and record and throttle network traffic.
- HAR export:
browser_network_requestswithharwrites a tab's requests, iframes from
other sites included, as a HAR 1.2 file for Chrome DevTools, Firefox or any HAR viewer. Cookie
values, tokens and other secret-looking values are masked by default; response bodies are
included on request. - Slow network, offline, slow CPU:
browser_emulatewithnetwork(offline, 3g, slow-4g,
fast-4g or your own numbers) andcpu(a slowdown factor). It reaches iframes from other sites,
shows on the tab in the views, and ends when the agent releases the tab or you end the
emulation.browser_auditsays when its performance numbers were measured under throttling. - Hand a browser tab to you (
browser_request_user_input): for single sign-on, MFA, captchas,
consent screens and decisions only you can make. The tab comes to the front with the agent's
request, the agent cannot read or use it meanwhile, and it gets the tab back when you click
Done or Won't Do, or when a condition it named holds (an address, a text on the page). - Login profiles (
browser_profiles,browser_openwithprofile): separate login stores, so
one window can be signed in to the same site as different accounts (dev, test, prod). You can
choose a profile per session or per tab, or give every agent session a private one with
copane.browser.agentLoginStore. Profiles live in memory until VS Code quits. - Accessibility and performance audits (
browser_audit): axe-core findings with their WCAG
criterion and level, element refs and fixes, WCAG failures first; and a performance report (load
timing, Web Vitals, slowest and largest requests, long tasks, render-blocking resources). - Playwright test export (
browser_export_test): what the agent did in a tab as a Playwright
test with role and label locators. - GitHub Actions: checks on Linux, macOS and Windows, end-to-end suites on Linux, releases built
from version tags, and a nightly run against VS Code Insiders. - Terminal names stay true after a window reload. Sessions get their label and color back when
they reconnect, in whatever order; a new session no longer takes a returning session's number. A
session that comes back under another label gets its terminals renamed when they are active. - Terminals cost far less. Your own terminals keep only the last 64 kB of output until you let
an agent use one (it then sees the screen and recent output); before, each kept a full emulator
(about 6 MB for a terminal that printed a lot). Closed terminals are released at once. Very fast
output (a huge build log,yes) is parsed at most about a third of the time, skipping lines that
would scroll out anyway, so the extension host stays responsive. - Remote windows (WSL, SSH, containers): downloads reach the agent. The browser saves on your
computer, Copane copies the file to the agent downloads folder on the remote side and gives the
agent that path. Enable Integrated Browser changes your local argv.json directly from a remote
window. No second extension is needed. - Get Started walkthrough: opens once after installing (never for someone already set up) and
from Copane: Get Started or the Copane view. Its steps (enable the browser, turn Copane on for
Claude Code and Codex, try it, see sessions) are checked off, and un-checked, from the real state;
in a remote window and in editors without the integrated browser it says what applies there. - In an editor without VS Code's integrated browser, the status report, the Copane views and
Enable Integrated Browser say that the browser tools are not available there instead of
offering a fix; the terminal tools work as before. - Agents started in a folder reached through a symbolic link (macOS
/tmp, linked project folders)
find their window by its folder again. Codex passes such resolved paths. - Shorter tool definitions (25,366 → 24,153 characters) and a test that keeps them within budget.
- README: installing, other editors and Open VSX, and how Codex treats Copane's tools.
- Request mocking and login prompts reach into iframes from other sites, nested ones and frames
added later included, from a frame's very first request on. - Tabs keep their ids across a window reload also when no agent has used them yet. Tabs that
cannot be told apart (two tabs on the same page) get new ids, and their old ids fail with a clear
message instead of reaching another tab. - Questions about a browser tab wait in the status bar instead of a notification, because VS
Code pauses a browser view while a notification covers it. Click the item (or run "Copane: Answer
Agent Question") to answer in a dialog.
Fixed:
- Text typed into password, one-time-code and card fields is no longer repeated in the result of
browser_typeandbrowser_fill_form("Typed 12 characters (not shown: a password or code
field)") or in an exported test. - A tab an agent was controlling could no longer load anything after a window reload. Such a tab
is now replaced after the reload by a new one at the same address, in the same login profile,
under the same tab id. - Show Agent Session sometimes opened the Sessions view without selecting the session's row.
- A tab an agent opened right before a window reload came back as "opened by the user".
- In bash (the default shell on Linux, and Git Bash), commands that chain several commands
(a && b,a; b,a | b) or use an alias (lsisls --color=autoon Ubuntu) returned
"(no output)" after a 2.5 s wait. They return their output again. - The first command in a new bash terminal could be taken for a stray Ctrl+C and return at once
without its output. - A finished command no longer looks like it runs forever when VS Code misses its end (seen with
bash when the command line wraps): the shell's own end marker finishes it. - On Windows, a downloaded file whose suggested name contains a colon (
a:b.txt) is saved as
a_b.txt, as on macOS and Linux, instead of losing the part before the colon.
Copane 0.2.1 (preview)
- License changed from MIT to the PolyForm Shield License 1.0.0: use, change and share it freely,
including at work, but do not offer a competing product. Versions up to 0.2.0 stay MIT. - The package includes THIRD_PARTY_NOTICES.md with the licenses of the bundled open-source packages.
No changes to features or behaviour since 0.2.0.
Install or update: download copane-0.2.1.vsix below, then in VS Code: Extensions view → … → Install from VSIX….
Copane 0.2.0 (preview)
Agents use far fewer tokens for the same work, and reach more of a page.
- Leaner snapshots. Element refs only on what an agent can act on, link targets left out unless
asked for (urls: true), table rows on one line.browser_snapshotgainsmode: "text"(read a
page as text),find(only matching elements), andoffset(continue a cut snapshot). - Action results say what changed on the page, so a new snapshot is rarely needed after a click.
- Tool definitions are about 40% smaller.
- Iframes from other sites are read and used like any other element.
- Login prompts for sites and proxies that ask for a user name and password (Basic, Digest,
NTLM); the agent never sees what you type. Optional saving in VS Code's secret storage. - Downloads: files an agent downloads are saved and their path reported (
browser_downloads). - Device emulation (
browser_emulate) and request mocking (browser_route). - Certificate errors ask once per host, with a trusted-hosts setting.
- The session indicator in a page can be dragged to any corner.
- Agent Tabs view in the bottom panel; Check and Repair Setup, Turn On and Turn Off
commands; registration can no longer lose its entry during an update.
Changed for agents:
- Removed
browser_select_option: usebrowser_fill_formwith{ ref, value }. - Removed
browser_network_request: usebrowser_network_requestswithid. browser_openwaits for the page to load and reports its title and status.- The snapshot format changed as described above.
Fixed:
- A navigation no longer reports console errors of the page being left.
- Clicks no longer fail as "covered" when the bottom panel shrinks the browser area.
Install or update: download copane-0.2.0.vsix below, then in VS Code: Extensions view → … → Install from VSIX…. First install: run Copane: Enable Integrated Browser (restart VS Code) and Copane: Turn On.
Developed and tested on macOS. Windows and WSL have had little real-world testing; company proxies and NTLM logins against real servers are untested.
Copane 0.1.1 (preview)
Publisher id is now saka, so the extension id is saka.copane. If you installed 0.1.0, uninstall it first, then run Copane: Enable Integrated Browser again (the argv.json line must name saka.copane) and restart VS Code.
Copane 0.1.0 (preview)
First preview release.
Install: download copane-0.1.0.vsix, then in VS Code: Extensions view → … → Install from VSIX…. Run Copane: Enable Integrated Browser (restart VS Code afterwards) and Copane: Turn On. See the README.
What it does: gives Claude Code and other MCP agents the VS Code window they run in: integrated browser tabs (snapshot, click, type, screenshots, console, network) and visible terminals with a hand-off for logins, per agent session, with each session's tabs and terminals marked in its color.
Status: developed and tested on macOS. Windows and WSL are written for but have had little real-world testing. It relies on VS Code's proposed browser API, which must be enabled once per machine and may change between VS Code releases.