v0.172.0Release

Worktree cleanup you can verify before it runs

The Worktrees panel now makes age, activity, and cleanup safety visible before you remove anything. Every worktree shows a relative activity time with its exact local date and time available to assistive technology and on hover. New worktrees track meaningful activity from preparation, agent output and completion, delivery attempts, refreshes, folder reveals, and interactive reopens. Older records fall back to their record update or creation time with honest wording, so a metadata timestamp is never presented as proof that someone worked in the branch.

Entries are grouped as Active, Needs review, Missing on disk, or Safe to remove, with a plain-language reason on every card. Sorting by oldest or recent activity makes stale worktrees easy to find, but age never grants permission to delete. A clean worktree with no commits ahead of its captured base is safe even when it came from an interactive session. Active runs and terminals, dirty files, commits ahead, failed delivery, and Git state that cannot be verified all stay out of safe cleanup.

Clean up safe worktrees opens a preview naming exactly which directories will be removed and how many entries will be skipped. The controller checks every entry again immediately before removal and never uses force. Safe removal deletes only the worktree directory and keeps its local branch. Recoverable work instead offers reveal or interactive inspection, plus a separately named permanent discard that identifies the worktree and branch and summarizes the files or commits that would be lost before asking for confirmation. Permanent discard is the only cleanup path that deletes the local branch.

Highlights

  • Every worktree shows meaningful recent activity, an exact timestamp, and its creation time when useful.
  • Oldest-first sorting and safety groups make stale work easy to identify without treating age as deletion permission.
  • Bulk cleanup previews verified-safe worktrees, reports skipped entries, re-checks live state, and never forces removal.
  • Safe removal keeps the local branch, while permanent discard explicitly names and deletes both worktree and branch.

← Browse all Pekan releases