Fix: IntelliSense Not Working
Your code editor stopped being smart. Suggestions are gone, errors aren't highlighted, and Ctrl+Click does nothing. Here's the fix, in order.
Last updated: October 2026
Check the language mode first. Bottom-right of VS Code — does it say JavaScript / TypeScript / Python, or does it say Plain Text?
If it says Plain Text, VS Code doesn't know the file's language, so it doesn't run a language server. Click it and select the correct language.
If the language is correct, reload the window: Command Palette (Ctrl+Shift+P) → Developer: Reload Window.
The 5 real causes
Wrong language mode
VS Code only runs language features for files it recognizes. If the language mode is wrong, no IntelliSense.
Check: Bottom-right corner shows the language. Click it to change.
Common cases:
.vuefile shows "Plain Text" → change to "Vue".jsxfile shows "JavaScript" instead of "JavaScript React".tsxfile shows "TypeScript" instead of "TypeScript React".mjsor.cjsfile shows "Plain Text"
Pro tip: You can set the language permanently for a file pattern in settings: "files.associations": { "*.vue": "vue" }.
Language server crashed
Each language has a "language server" — a background process that powers IntelliSense. If it crashes, all language features stop.
Restart by language:
TypeScript/JavaScript:
Ctrl+Shift+P → "TypeScript: Restart TS Server"
Python:
Ctrl+Shift+P → "Python: Restart Language Server"
Any language:
Ctrl+Shift+P → "Developer: Restart Extension Host"
Check the Output panel: View → Output → select the language server from the dropdown. Crashes show up as stack traces.
tsconfig.json or jsconfig.json issue
For JavaScript and TypeScript, the language server reads tsconfig.json (or jsconfig.json) to understand your project. A broken config disables IntelliSense.
Quick diagnostic — Open TS Server log:
- Command Palette → "TypeScript: Open TS Server Log"
- Look for "Config file error" or "Cannot find module"
- Or check the status bar: it shows a warning icon if the config is broken
Common config problems:
- JSON syntax error in tsconfig.json (trailing comma)
- Wrong
moduleResolutionsetting - Missing
pathsmapping that code imports rely on includeorexcludepattern that excludes the file
Extension intercepting completions
AI completion extensions (Copilot, Cursor Tab, Tabnine, Codeium) sometimes take over and suppress native IntelliSense. Or two AI extensions fight each other.
Test: Disable all AI completion extensions temporarily.
# Quick test — disable all extensions
code --disable-extensions
# If IntelliSense works, one of your extensions was suppressing it
# Re-enable one at a time to find which
Common setting to check:
"editor.inlineSuggest.enabled": true // enable Copilot-style suggestions
"github.copilot.enable": { "*": true } // global Copilot toggle
// If Copilot is intercepting too aggressively:
"github.copilot.enable": {
"*": true,
"markdown": false,
"plaintext": false
}
Memory / project size
On very large projects, the TS server or Python language server runs out of memory and stops responding. Symptoms: IntelliSense works at first, then dies after a few minutes.
Fix: Increase the memory limit.
// .vscode/settings.json
{
"typescript.tsserver.maxTsServerMemory": 4096,
"python.analysis.memory": 4096
}
// Or exclude heavy folders from the project
"typescript.tsserver.exclude": [
"**/node_modules",
"**/dist",
"**/build"
]
Pro tip: For large monorepos, use a workspace with only the folders you actually work on. Opening a huge folder slows every feature.
The debugging workflow
- Check the language mode (bottom-right corner) — is it correct?
- Reload the window — Command Palette → "Developer: Reload Window"
- Restart the language server — Command Palette → "Restart TS Server" / "Restart Language Server"
- Check the Output panel — View → Output → select the language server
- Disable AI completion extensions — do they conflict with native IntelliSense?
- Check config files — tsconfig.json or jsconfig.json valid?
- Bump memory limits if the project is large
- Reinstall VS Code as a last resort — rare, but sometimes settings files get corrupted
🛡️ How to keep IntelliSense reliable
- Keep tsconfig.json clean. Validate it with
npx tsc --showConfig— if it errors, IntelliSense breaks. - Use a workspace file for monorepos. Open only the packages you work on.
- Bump memory limits on big projects. 4GB is a reasonable default for TS servers.
- Only one AI completion extension at a time. Disable others to avoid conflicts.
- Watch the Output panel. It tells you about crashes and errors before you notice lost features.
- Keep VS Code updated. Language server bugs are fixed every release.
❓ Frequently asked questions
Why did my VS Code IntelliSense stop working?
Most common causes: the language server crashed, the file isn't recognized as the right language, there's a JavaScript/TypeScript tsconfig.json issue, or an extension is intercepting completions. Reload the window first, then check the language mode in the bottom-right corner.
How do I restart the VS Code language server?
Open the Command Palette (Ctrl+Shift+P) and run 'Developer: Restart Extension Host'. For TypeScript specifically, run 'TypeScript: Restart TS Server'. For Python, run 'Python: Restart Language Server'.
Why is my TypeScript IntelliSense not working?
Common causes: an invalid tsconfig.json, the TypeScript version mismatch between workspace and VS Code, or the TypeScript server running out of memory on large projects. Check the Output panel for TypeScript errors.
Why doesn't autocomplete show for some files?
Check the file's language mode in the bottom-right corner of the status bar. If it says 'Plain Text' instead of 'JavaScript' or 'TypeScript', VS Code doesn't know to provide language features. Click it to change the language.
Does VS Code IntelliSense work offline?
Yes. VS Code's built-in IntelliSense for JavaScript, TypeScript, CSS, and HTML works entirely offline. AI-powered completions like Copilot require internet, but core language features do not.