| Age | Commit message (Expand) | Author |
| 2026-10-17 | Start a local Chrome when the target is an explicit local and none answers | Igor Soarez |
| 2026-10-15 | fix(cdp): give the castle default 1.5s, not 5s, inside upstream's connect budget | Igor Soarez |
| 2026-10-15 | feat(cdp): report a BU_CDP_WS pin in status, /browser-target and the prompt | Igor Soarez |
| 2026-10-14 | feat(prompt): say which Chrome browser_* drives | Igor Soarez |
| 2026-10-14 | fix(profile): never prompt for a profile when driving a remote browser | Igor Soarez |
| 2026-10-14 | fix(setup): skip local-browser precondition for every remote target | Igor Soarez |
| 2026-10-14 | docs(readpage): flag SPA-shell results so models don't trust them as the page | Igor Soarez |
| 2026-10-14 | feat(cdp): /browser-target to switch browsers without leaving pi | Igor Soarez |
| 2026-10-14 | feat(cdp): default to the shared browser, and say so in /browser-status | Igor Soarez |
| 2026-10-14 | feat(cdp): BU_CDP_HTTP to attach to a browser on another host | Igor Soarez |
| 2026-10-12 | fix(daemon): let pi exit after a session has connected to the daemon (#40) | Aman Kumar |
| 2026-10-12 | fix: browser_download no longer hijacks the user's own downloads (#33) | Uttkarsh |
| 2026-10-11 | refactor: remove duplicate browser prompt instructions (#35) | Patrick Barattin |
| 2026-10-11 | fix(daemon): stop importing typebox in the daemon process (#38) | Aman Kumar |
| 2026-10-11 | fix: append browser state to the session only when it changes (#37) | Aman Kumar |
| 2026-10-11 | fix(daemon): resolve tsx from the filesystem when Node's resolver cannot see ... | PhysicistLeon |
| 2026-09-09 | feat: add per-tab request headers (#30) | astarring |
| 2026-08-06 | fix: accept Windows script paths and start the daemon from a real install (#23) | Aman Kumar |
| 2026-08-06 | fix: reconnect to Chrome only on explicit browser demand (#18) | Uttkarsh |
| 2026-08-02 | refactor: merge nine files whose reason to exist was gone | amankumarsingh77 |
| 2026-08-02 | refactor: act on the fallow audit | amankumarsingh77 |
| 2026-08-02 | refactor: daemon internals, and fix a leak the merge exposed | amankumarsingh77 |
| 2026-08-02 | refactor: attach and windowId become session methods | amankumarsingh77 |
| 2026-08-02 | refactor: helpers live in helper modules, not in tool files | amankumarsingh77 |
| 2026-08-02 | refactor: one door from a tool to the browser | amankumarsingh77 |
| 2026-08-02 | refactor: one CDP transport, not two | amankumarsingh77 |
| 2026-08-02 | fix: make --browser-debug-clicks and BU_CDP_WS actually work | amankumarsingh77 |
| 2026-08-02 | refactor: delete exports and knobs that nothing calls | amankumarsingh77 |
| 2026-08-02 | feat!: remove the deep-research feature | amankumarsingh77 |
| 2026-08-02 | refactor: tidy the whitespace the comment removal left behind | amankumarsingh77 |
| 2026-08-02 | refactor: strip comment noise from the root modules | amankumarsingh77 |
| 2026-08-02 | refactor(domains): strip comment noise | amankumarsingh77 |
| 2026-08-02 | refactor(profile): strip comment noise | amankumarsingh77 |
| 2026-08-02 | refactor(daemon): strip comment noise | amankumarsingh77 |
| 2026-08-02 | refactor(cdp): strip comment noise | amankumarsingh77 |
| 2026-08-02 | refactor(util): strip comment noise | amankumarsingh77 |
| 2026-08-02 | style: drop the comments added by the bug-audit fixes | amankumarsingh77 |
| 2026-08-02 | fix(domains): report a page-side throw instead of blaming the ref | amankumarsingh77 |
| 2026-08-02 | fix(domains): one fill engine, so browser_fill stops lying about checkboxes | amankumarsingh77 |
| 2026-08-02 | fix(domains): keep element refs stable across a mutation | amankumarsingh77 |
| 2026-08-02 | fix(tool): stop the socket gate rejecting every tool call on Windows | amankumarsingh77 |
| 2026-08-02 | fix(cdp): route background-tab events to the tab they belong to | amankumarsingh77 |
| 2026-08-02 | fix(cdp): re-enable domains when re-attaching to a known tab | amankumarsingh77 |
| 2026-08-02 | refactor: close the remaining unguarded type assertions | amankumarsingh77 |
| 2026-08-02 | refactor: validate JSON at every parse boundary | amankumarsingh77 |
| 2026-08-02 | fix(domains): stop fill_form misreporting select-by-label, let it fail | amankumarsingh77 |
| 2026-08-02 | fix(domains): restore fill_form and set_checked, drop the stale fork | amankumarsingh77 |
| 2026-08-02 | refactor(domains): share target resolution and CDP error mapping | amankumarsingh77 |
| 2026-08-02 | refactor(tools): declare concurrency in the tool definition | amankumarsingh77 |
| 2026-08-02 | refactor(cdp): validate event params against a typed table | amankumarsingh77 |