Skip to content

persistent_local_browser broken on Windows: signal.SIGTERM and start_new_session are POSIX-only #58

Description

@rahulrao85

Description

persistent_local_browser.py has two Windows incompatibilities that prevent the tool from working on Windows:

  1. signal.SIGTERM not available on Windows (line 187): os.kill(pid, signal.SIGTERM) raises AttributeError because signal.SIGTERM is a Unix-only constant. The release command crashes.

  2. start_new_session is POSIX-only (line 141-142): The process detach logic only applies on POSIX. On Windows, the Chromium subprocess is not detached from the parent, so it gets killed when the parent exits - making the "persistent" browser feature non-functional.

Impact

  • The entire persistent_local_browser tool is broken on Windows
  • _cmd_release crashes with AttributeError when trying to terminate a browser
  • Persistent browser sessions cannot outlive the creating script on Windows
  • Error message is a cryptic Python traceback, not a helpful diagnostic

Suggested Fix

Add Windows code paths:

  • For process detach: use creationflags=subprocess.CREATE_NEW_PROCESS_GROUP on Windows
  • For termination: use taskkill /F /T /PID on Windows as an alternative to os.kill(pid, signal.SIGTERM)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions