Changelog

Version history for Claudezilla

v0.5.9 2026-03-04 Latest

Tab state bug fixes — eliminates stale-tab loops and session nukes

Bug Fixes

  • fix
    Session nuke on empty tabs (CRITICAL) When the last Claudezilla tab was externally closed, getSession() would null the entire session state, requiring a full extension reload to recover. Now throws a targeted NO_TABS error without destroying window state.
  • fix
    Stale-tab infinite loop (SERIOUS) When a tab was closed while a command was in-flight, agents received CONTENT_SCRIPT_UNAVAILABLE and retried forever. Now detects the closed tab and returns TAB_CLOSED with actionable guidance.
  • fix
    Heartbeat timeout during long operations (MODERATE) Heartbeats were only updated at command arrival. Long operations like screenshots or waitFor could exceed the 120s orphan timeout, deleting the agent's tabs mid-operation. Heartbeat now also refreshes immediately before the async operation.
  • fix
    Catch-all scope too broad in getSession (MODERATE) A single try/catch wrapped both window-level and tab-level failures, with both paths resetting session state. Now split: window failure resets state; tab failure throws TAB_UNAVAILABLE without destroying the window.
v0.5.8 2026-02-28

Community-reported install and runtime fixes

Bug Fixes

  • fix
    macOS native host path Installer was writing the manifest to ~/.mozilla/native-messaging-hosts/ (Linux path). Firefox on macOS expects ~/Library/Application Support/Mozilla/NativeMessagingHosts/. Resolves "No such native application" error on fresh macOS installs.
  • fix
    MCP dependencies missing after fresh clone install-macos.sh now runs npm install in the mcp/ directory. Previously, a fresh git clone had no node_modules/, causing the MCP server to fail on first launch.
  • fix
    tabId string coercion MCP params can deliver tabId as a JSON string ("6") rather than a number (6). Firefox's browser.tabs API requires a number — passing a string throws "Incorrect argument types". All 12 tab-targeting tool handlers now normalize via Number(), consistent with the existing closeTab and screenshot pattern.

v0.5.7 2026-02-08

Critical bug fixes + timeout flexibility

Bug Fixes

  • fix
    Screenshot error propagation Errors during capture now properly propagate instead of being silently swallowed.
  • fix
    Slot reservation race condition Atomic reservation consumption prevents two agents from claiming the same slot.
  • fix
    Message ID overflow Replaced ++messageId with crypto.randomUUID().

Features

  • feat
    Per-operation timeouts Optional timeout parameter added to all tool schemas. Range: 5s–300s. Default: 150s.

v0.5.6 2026-01-26

Autonomous installation + slot reservation system

Features

  • feat
    Autonomous install Installers auto-configure Claude Code permissions and MCP settings on macOS, Linux, and Windows.
  • feat
    Slot reservation system 30-second guaranteed slot reservations for agents waiting on a full tab pool. Prevents slot theft between competing agents.
  • feat
    Graceful session cleanup MCP server sends goodbye on exit, immediately freeing all owned tabs.

v0.5.0 2025-12-15

Windows support + auto-loop detection

Features

  • feat
    Windows 10/11 support Named pipes, ACL security, platform-independent IPC abstraction.
  • feat
    Auto-loop detection Automatically detects iterative tasks and suggests focus loop activation.
  • feat
    Path security hardening Blocks null bytes, path traversal, and UNC injection in file paths.

v0.4.0 2025-10-20

Multi-agent coordination + focus loops

Features

  • feat
    Focus loops Persistent iterative development — Claude works on a prompt until a completion signal is detected or max iterations reached.
  • feat
    Multi-agent tab ownership 128-bit agent IDs, per-tab ownership tracking, screenshot mutex, and POOL_FULL / MUTEX_BUSY error codes.
  • feat
    Dynamic screenshot readiness Replaces hardcoded delays with network-idle + visual-idle + render-settlement detection.