Skip to content

Releases: abhinav162/poltertab

v1.6.0-beta.1

v1.6.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@abhinav162 abhinav162 released this 07 Sep 10:49

What's Changed

Full Changelog: v1.5.0...v1.6.0-beta.1

v1.5.0

Choose a tag to compare

@abhinav162 abhinav162 released this 04 Sep 10:14

What's Changed

  • Security fix, three broken behaviours, and a split of the 1,600-line server by @abhinav162 in #10

Full Changelog: v1.4.0...v1.5.0

v1.5.0-beta.2

v1.5.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@abhinav162 abhinav162 released this 31 Aug 14:20

Full Changelog: v1.4.0...v1.5.0-beta.2

v1.5.0-beta.1

v1.5.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@abhinav162 abhinav162 released this 31 Aug 13:36

Full Changelog: v1.4.0...v1.5.0-beta.1

v1.4.0

Choose a tag to compare

@abhinav162 abhinav162 released this 29 Aug 15:26

What's Changed

  • Record-scoped extraction and a pagination loop by @abhinav162 in #9

Full Changelog: v1.3.0...v1.4.0

v1.3.0

Choose a tag to compare

@abhinav162 abhinav162 released this 21 Aug 22:05

What's Changed

  • Let a manual re-run finish a half-published release by @abhinav162 in #8

Full Changelog: v1.2.0...v1.3.0

v1.2.0

Choose a tag to compare

@abhinav162 abhinav162 released this 21 Aug 21:52

What's Changed

  • Tell people when they are running stale halves by @abhinav162 in #7

Full Changelog: v1.1.0...v1.2.0

v1.1.0

Choose a tag to compare

@abhinav162 abhinav162 released this 21 Aug 14:17

What's Changed

  • One command to install, instead of a five-step README by @abhinav162 in #6

Full Changelog: v1.0.0...v1.1.0

v1.0.0 — PolterTab

Choose a tag to compare

@abhinav162 abhinav162 released this 21 Aug 13:42
6590996

PolterTab lets any AI assistant drive and scrape your existing Chrome profile — no headless browser, no separate automation setup, no re-logging into anything.

A Chrome extension plus an MCP server. The AI acts inside the browser you already use: your real profile, your cookies, your logged-in sessions.

Install

1. The extension

Download poltertab-extension-v1.0.0.zip below and unzip it. Then:

  1. Open Chrome → chrome://extensions/
  2. Enable Developer mode (top right)
  3. Click Load unpacked
  4. Select the unzipped chrome-extension/ directory

2. The MCP server

Requires Node 18+. Clone the repo, install deps, and point your MCP client at the server over stdio:

git clone https://github.com/abhinav162/poltertab.git
cd poltertab && npm install
{
  "mcpServers": {
    "poltertab": {
      "command": "node",
      "args": ["/absolute/path/to/poltertab/mcp-server/index.js"]
    }
  }
}

Restart your AI tool afterwards.

A guided installer — npm install -g poltertab && poltertab setup — is in review and lands in the next release. It configures the MCP server, installs a browser-navigation skill, and updates your CLAUDE.md in one command.

What it does

21 tools, all prefixed browser_: navigate, click, fill, hover, scroll, snapshot, scrape, screenshot, network capture, named tab sessions, and per-site memory. Full table in the README.

Several agents can point at the same browser at once. The first server to claim the WebSocket port serves the extension; the rest proxy through it.

Handles the pages that usually break automation

This release includes the fixes that make real applications reachable rather than just simple pages:

  • Shadow DOM — including closed roots — is pierced automatically, so selectors match inside web components. browser_snapshot descends into them too, so the agent can see what it is expected to target.
  • Cross-frame search — child frames are searched in parallel when the top frame misses, so an element inside a sandboxed iframe is reachable by plain selector. Tested at 21 frames without burning the timeout budget.
  • Late-rendering modals get retried for ~3s, so a dialog that mounts a beat after the click that opened it does not need a manual wait.
  • browser_fill works on textareas and contenteditable, not just <input>. The DOM's value setters are branded to their own interface, and the old code always read the setter off HTMLInputElement — so filling a textarea threw "Illegal invocation" everywhere, and chat composers were unreachable.

Also fixed

  • Content script injection is idempotent. Re-injection compounded: one command fired N clicks and every intercepted response was captured N times over.
  • stdout is pure JSON-RPC. Two console.log calls were corrupting the MCP channel.
  • Fast pages no longer hang for 30s. The load listener was registered after navigation had already started, so a page that finished quickly was never observed completing.
  • output_file works on secondary servers, not just the one holding the port.
  • The options page is reachable, so the WebSocket port is actually configurable.

Tests

65 tests, no framework and no browser needed: npm test. Covers injection idempotence, shadow DOM piercing, cross-frame search, the navigation load race, and the MCP server end to end against a fake extension on a separate port.