Skip to main content
AI Development

Copilot CLI now indexes whole C++ codebases

GitHub Copilot CLI now reuses a persistent C++ symbol index. The first scan costs time and memory, but subsequent navigation can use information from files that are not open.

Sean McLellan profile photo

Sean McLellan

Lead Architect & Founder

4 min read
A dark drink beside unlabeled navy folders linked by copper wires and blank brass tabs on a workbench.
Constructed diagramA conceptual illustration of reusable links among project files; it is not Copilot UI or a measured performance result.

GitHub added whole codebase indexing to C++ code intelligence in Copilot CLI on September 22. When you open a C++ project, its language server can build a persistent symbol index and reuse it for later requests. For teams with large, connected source trees, the change shifts some work to the first project load instead of repeatedly rediscovering definitions and relationships while navigating code.

How the index works

The Microsoft C++ Language Server uses the project's compilation information to resolve types, symbols, includes, and relationships across files, including files that are not currently open. Whole codebase indexing keeps that symbol information available for definition lookup, references, implementations, and symbol search. GitHub describes the index as persistent and dynamically updated after the first build. This is code intelligence for navigation and understanding; the announcement does not claim that the index makes generated code correct or that it replaces a compiler and tests.

Blank brass index plate linked by copper wires to unlabeled navy folders on a workbench.
Constructed diagramConceptual illustration of a shared index across files; no observed indexing state or timing is shown.

GitHub says indexing is enabled by default. The language server loads the index when a C++ project is first opened. Developers can inspect progress with /lsp logs. Initial construction can take additional time and temporarily increase memory use, particularly in large or complex repositories. GitHub does not provide a universal speedup or memory figure in the announcement, so a rollout estimate needs measurements from the team's own project.

Where the tradeoff matters

A large repository with frequent cross-file navigation is a reasonable place to test this change. Keep the project's compilation information available, record first-load time and peak memory on a representative workstation, then compare subsequent definition and reference lookups after the index settles. A small project or a constrained development machine may make the first-load cost more noticeable than the benefit. Those are evaluation questions, not performance results promised by GitHub.

If indexing causes trouble, GitHub links to the language server's indexing documentation for a temporary disable setting and says to restart the Copilot session after changing it. Check the current documentation before changing team defaults, and distinguish an initial indexing delay from a persistent slowdown. The practical decision is whether reuse across the actual C++ project offsets its startup cost on the machines developers use. For a separate question about controlling what an agent can access, see our guide to Copilot app content exclusions.

Developer tooling

Check the cost of indexing your repository

BaristaLabs can help assess a Copilot CLI rollout against your C++ build information, workstation capacity, and developer workflow.

Start with one representative C++ project and its existing build configuration.

Turn this idea into a pilot

Which workflow should go first?

Use the readiness check to compare impact, effort, risk, owner, and next step before requesting a review.

  • 3-5 minutes
  • Deterministic score
  • No sensitive data
Check workflow readiness

Practical AI Workflow Notes

Want more practical AI operations ideas?

Get short notes on applying AI inside real small-business workflows — from document handling and customer follow-up to internal reporting, compliance, and automation guardrails.

A useful next step if you’re still exploring and not ready to request a 20-minute workflow assessment.

Occasional emails. Practical workflow guidance only. Unsubscribe anytime.