[BUG] Windows: duplicate context injection (~20s first response even for 'hello') — CLAUDE.md and skills list loaded twice

Resolved 💬 3 comments Opened Feb 9, 2026 by Sebastilan Closed Feb 12, 2026

Description

On Windows (VS Code extension), the first response takes ~20 seconds even for a simple "hello" — partly because the system context is bloated with duplicate injections:

1. CLAUDE.md loaded twice (same file, different case)

The global ~/.claude/CLAUDE.md is loaded twice:

  • Once as "user's private global instructions" with path C:\Users\<user>\.claude\CLAUDE.md (uppercase C:)
  • Once as "project instructions, checked into the codebase" with path c:\Users\<user>\.claude\CLAUDE.md (lowercase c:)

These resolve to the same file on Windows (case-insensitive filesystem). The second copy is also mislabeled as "project instructions" when it is actually the global file.

2. Skills list injected twice

The full available skills list appears twice in the system prompt — every skill is listed in duplicate, doubling the context size of that section.

Impact

  • Wastes context window tokens on fully duplicated content
  • Increases latency for every response, especially noticeable on first reply (~20s for "hello")
  • Mislabels global config as "project instructions", potentially confusing the model

Expected Behavior

  • Path deduplication should be case-insensitive on Windows
  • Skills list should be injected exactly once
  • A simple greeting should not require 20 seconds of processing

Environment

  • OS: Windows 11
  • Claude Code: 2.1.34 (VS Code extension)
  • No project-level CLAUDE.md exists — only the global ~/.claude/CLAUDE.md

Related Issues

  • #24236 — Global ~/.claude/CLAUDE.md loaded twice on Windows (case-insensitive path dedup)
  • #10115 — Duplicate skills when home == repo root (closed, but skills duplication appears to have regressed)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗