claude-code - 💡(How to fix) Fix [BUG] End-of-session "N repos" panel duplicates a repo when MCP scope and git remote casings differ

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

In Claude Code on the web, the end-of-session panel renders the same GitHub repo twice whenever the repo name contains uppercase letters. The git remote URL preserves the cased name, but the GitHub MCP Repository Scope string is lowercased. Since the UI keys rows by that string, one real repo shows up as two rows.

Error Message

Error Messages/Logs

Root Cause

In Claude Code on the web, the end-of-session panel renders the same GitHub repo twice whenever the repo name contains uppercase letters. The git remote URL preserves the cased name, but the GitHub MCP Repository Scope string is lowercased. Since the UI keys rows by that string, one real repo shows up as two rows.

RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

Summary

In Claude Code on the web, the end-of-session panel renders the same GitHub repo twice whenever the repo name contains uppercase letters. The git remote URL preserves the cased name, but the GitHub MCP Repository Scope string is lowercased. Since the UI keys rows by that string, one real repo shows up as two rows.

Observed

Two rows, same branch, only one is real:

  • myrepo <base> ← <branch> (no diff, phantom)
  • MyRepo <base> ← <branch> (shows diff, real push, links to the actual PR on github.com)

Only one PR exists on github.com. Screenshot (from a mixed-case private repo) attached — repo/branch names redacted, but the two rows and the casing difference are visible.

Impact

Cosmetic but confusing — users reasonably believe Claude opened two PRs and go hunting for a second one that doesn't exist.

Notes

  • Any lowercase repo name (my-repo) will not hit this bug — the two identity sources agree.
  • Only mixed-case repo names (MyRepo, VTSearch, etc.) trigger it.

What Should Happen?

One row per underlying GitHub repo. Repo identities should be matched case-insensitively (GitHub itself treats repo names that way), so the MCP scope string and the git remote URL collapse into a single entry.

Error Messages/Logs

Steps to Reproduce

  1. Create or use a GitHub repo whose name has uppercase letters, e.g. your-org/MyRepo.
  2. Open it as a project in Claude Code on the web.
  3. Run any session that pushes a branch and opens a PR.
  4. Scroll to the end-of-session panel.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

No response

Claude Code Version

Web app

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

Other

Additional Information

<img width="752" height="693" alt="Image" src="https://github.com/user-attachments/assets/9290af2e-db17-4a5b-9490-91efe4121499" />

extent analysis

TL;DR

The issue can be fixed by making the repository identity matching case-insensitive, so that the MCP scope string and the git remote URL are treated as the same entry.

Guidance

  • The root cause of the issue is the case sensitivity in the repository identity matching, which causes the same repository to be rendered twice in the end-of-session panel.
  • To verify the issue, create a GitHub repository with a mixed-case name and open it in Claude Code on the web, then check if two rows are displayed in the end-of-session panel.
  • To mitigate the issue, consider using only lowercase repository names until the fix is implemented.
  • The fix likely involves updating the code that generates the MCP scope string to make it case-insensitive, so that it matches the case-insensitivity of the git remote URL.

Example

No code snippet is provided as the issue does not include specific code details.

Notes

The issue is specific to repositories with mixed-case names and does not affect repositories with only lowercase names. The fix should ensure that the repository identity matching is case-insensitive, similar to how GitHub treats repository names.

Recommendation

Apply a workaround by using only lowercase repository names until the issue is fixed, as this will prevent the duplicate rendering of repositories in the end-of-session panel.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING