Skip to content

scripts/uninstall.sh: pip list --format=legacy removed in pip 23.0, script now errors out #1343

Description

@chirag127

Problem

scripts/uninstall.sh uses pip3 list --format=legacy, but the legacy format was removed in pip 23.0 (2023-01-30). The script errors out and uninstalls nothing.

Steps

  1. pip --version -> pip 23.0 or newer
  2. bash scripts/uninstall.sh

Expected

Each aw-* module is uninstalled.

Actual

option --format: invalid choice: 'legacy' (choose from 'columns', 'freeze', 'json')

The outer grep 'aw-' receives empty stdin, $modules is empty, and the for loop is a no-op. Users think uninstall succeeded.

Cite: scripts/uninstall.sh:3 -- modules=$(pip3 list --format=legacy | grep 'aw-' | grep -o '^aw-[^ ]*')

Fix: switch to --format=freeze (output is aw-core==0.5.x, parses with existing grep) or --format=columns.

Environment

pip 26.1.2, Python 3.14.6, Windows 11. Same failure on any pip >= 23.0 per pip 23.0 changelog (removed deprecated --format=legacy).

Thanks for maintaining ActivityWatch/activitywatch!

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