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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions