Cursor troubleshooting
Fix Cursor Indexing Stuck
Diagnose Cursor indexing that remains stuck or never becomes useful by checking workspace scope, progress, ignore rules, network diagnostics, and extensions.
Confirm you opened the repository root and check the indexing state before resetting anything. Large repositories can take longer, and semantic search is not fully available during early indexing. If progress stops, run Cursor Settings > Network > Run Diagnostics, then launch once with extensions disabled to isolate network and extension failures.
Match the symptom
- Indexing progress does not advance for an extended period.
- Semantic search cannot find files that are clearly in the open repository.
- The agent behaves as though only the current file exists.
- Indexing restarts repeatedly or stalls after an extension or network change.
First checks
Collect evidence before changing configuration
cd path/to/your-project
cursor .cursor --disable-extensionsCursor Settings > Network > Run DiagnosticsDiagnosis 1
Confirm the open workspace and index state
A nested folder creates an incomplete index even when indexing itself is healthy.
- Open the repository root that contains the main Git and package files.
- Check Cursor settings for the current indexing status and indexed-file count.
- Wait for meaningful progress before testing semantic search on a large repository.
Decision: If known root files are outside the workspace, reopen the correct directory. If progress moves, let indexing finish before resetting it.
Diagnosis 2
Review ignore rules and repository shape
Git ignores and Cursor-specific exclusions can intentionally remove files from the codebase index.
- Check `.gitignore` and `.cursorignore` for broad patterns.
- Confirm generated output, dependencies, large binaries, and secrets stay excluded.
- Use a known small source file to test search instead of a generated or ignored file.
Decision: Change only the rule that excludes required source. Do not index dependency directories or secrets merely to increase the file count.
Diagnosis 3
Run Cursor's network diagnostics
Indexing and AI features can fail behind restrictive proxies, VPNs, DNS filters, or corporate firewalls.
- Compare the result on and off VPN if policy permits.
- Ask IT to review blocked Cursor endpoints rather than weakening endpoint security globally.
Cursor Settings > Network > Run DiagnosticsDecision: A failing diagnostic makes network policy the next layer to fix; resetting the index will not resolve a blocked connection.
Diagnosis 4
Isolate extension conflicts
Run a clean extension session once, without uninstalling your editor profile.
- Open the same repository and observe indexing progress.
- If the issue disappears, re-enable extensions in small groups until it returns.
cursor --disable-extensionsDecision: Keep the conflicting extension disabled or update it, then verify indexing and code search again.
If it still fails, send this evidence
A useful support request is reproducible and does not expose credentials.
- Cursor version, operating system, repository size, and approximate indexed-file count.
- A screenshot or text result from Network Diagnostics with private hostnames removed.
- Whether the problem reproduces with `cursor --disable-extensions`.
- Relevant `.gitignore` and `.cursorignore` patterns, without repository secrets.
Related paths
Fix the adjacent layer without starting over.
Official sources
Commands and product behavior were checked against first-party documentation on August 13, 2026. Interfaces and authentication flows change; recheck the source when applying this across a team.