github / github/app

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

Open
#2,709 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
2.1k
Forks
153
PR merge metrics
No merged PRs in 30d

Description

(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//*` 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 |

Contributor guide

Open the contributing guide

Research direction

Start with the archive flow for Copilot worktree sessions and the internal refs named in the issue: refs/copilot/checkpoints//* and refs/copilot-preserved/*. Trace how archived sessions, worktree metadata, and the requested cleanup action are represented. Done means safely reclaiming obsolete archived data while preserving active sessions, user refs, reachable commits, and uncommitted work.

Written by the indexing model from the issue text.

Assessment

Tech stack
git
Domain
desktop, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.