Workspace pruning scanner includes Temp build dirs and nested checkouts that can never be eligible for pruning

Status Fixed / completed
Maintainer reply None cached
Activity 2 comments · opened Sep 14, 2026 · closed Sep 14, 2026

Description

The "Workspaces" panel (workspace-eligibility/pruning UI) lists directories that are structurally incapable of ever being pruned, cluttering the list with permanent noise:

  1. Temp build scratch dirs under %LOCALAPPDATA%\Temp (e.g. issue-worm-build-workspace2, issue-worm-build-workspace4) — these appear to be leftover CI/build artifacts, not real checkouts, but they're still scanned and listed.
  2. Real git checkouts nested one level differently than expected (e.g. ...\issue-worm\issue-worm-pro) are flagged "Not Directly Under A .Issue-Worm-Workspace Workspace Root" — even though they are legitimate, currently-used repos.
  3. Plain folders with no .git directory (e.g. a PR-checkout-named folder without git metadata) are flagged "Not A Git Checkout" — again, permanently ineligible, not something the pruning action will ever act on.

Expected behavior

Either:

  • Exclude %LOCALAPPDATA%\Temp (and other clearly non-workspace-root locations) from the scan entirely, or
  • Provide a settings option (e.g. in settings.json) to configure which root paths are scanned for workspace pruning, or
  • Filter the displayed list to only directories that are plausibly eligible, with permanently-ineligible entries hidden by default (perhaps behind a "show all scanned paths" toggle).

Actual behavior

The scanner walks temp directories and nested checkouts unconditionally, and the UI shows every result — including entries that can never pass the eligibility check — with no way to configure or exclude scan roots.

Environment

  • Platform: Windows 11 Pro (10.0.26200)
  • Claude Code desktop app
  • Checked ~/.claude/settings.json — confirmed no workspace, temp, or prune-related keys exist to control this

🤖 Generated with Claude Code

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗