Skip to content

(Had an agent checkout why my repos were so large and draft a request) #2709

Description

@wesley-shi

(Had an agent checkout why my repos were so large and draft a request)

Automatically garbage-collect Copilot checkpoint refs when sessions are archived

Description

Copilot worktree sessions create large numbers of refs under refs/copilot/checkpoints/* and refs/copilot-preserved/*. These refs remain after sessions/worktrees are archived, preventing Git garbage collection and consuming significant disk space.

Please automatically clean up a session’s internal Git refs when that session is archived.

Expected behavior

  1. Preserve refs for active sessions and worktrees.

  2. On archive, retain only the minimum snapshot needed to restore the session, or remove all internal refs if restoration does not require them.

  3. Remove obsolete refs/copilot/checkpoints/<session-id>/* and related preserved refs.

  4. Prune stale worktree metadata.

  5. Run deferred Git maintenance (reflog expire and git gc) when safe.

  6. Never delete user branches, remote refs, commits reachable from active sessions, or uncommitted work.

  7. Provide a “Clean up archived session data” action for existing orphaned checkpoints.

Motivation

In my repositories, archived Copilot sessions left tens of thousands of checkpoint refs. They retained approximately 1.3 GB in one Android repository and 742 MB in an iOS repository even after local branches were deleted. Manual ref deletion and Git garbage collection were required to reclaim the space.


Field Value
App version 1.1.6
OS macOS 26.5.2
Theme Notionish
Path /chat
Tenure Week 6

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