Skip to content

actions/checkout fails on Windows runners when repository contains branch prefixes differing only by case  #2448

@manudrive04-hue

Description

@manudrive04-hue

:

Description

What happened?

actions/checkout fails on Windows runners during the "Determining the checkout info" phase when the repository contains branches whose path components differ only by case.

Example branches:

  • feature/manu
  • Feature/tarun

The checkout succeeds on Linux runners but fails on Windows runners.

Reproduction

Repository contains:

feature/manu
Feature/tarun

Workflow:

steps:
  - uses: actions/checkout@v6

Run on:

runs-on: windows-latest

Expected behavior

Checkout should either:

1. Complete successfully, or


2. Fail with a clear error indicating that the repository contains refs that cannot coexist on a case-insensitive filesystem.



Actual behavior

Checkout fails while determining checkout information / fetching refs on Windows runners.

Environment

actions/checkout: v6.0.3

Runner OS: Windows

GitHub-hosted runner


Additional context

The issue appears related to Windows case-insensitive filesystem behavior when refs contain path components that differ only by case (feature vs Feature).

You can file it in the official repository: 

One thing to consider mentioning: this may ultimately be a Git-on-Windows limitation rather than a bug in `actions/checkout` itself. Framing it as "checkout should detect and provide a clearer error message" may make the issue more actionable for the maintainers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions