Fix VS Code IntelliSense Not Working: "Language server is not ready yet"

intermediate๐Ÿ’ป VS Code2026-03-19| VS Code 1.80+ on Windows 10/11, macOS 13+, Ubuntu 22.04 โ€” affects Python, TypeScript, C++, Java, and other language extensions

Error Message

Language server is not ready yet. Wait for it to fully load.
#vscode#intellisense#language-server#autocomplete

The Error

You open a file, hover over a function, or trigger autocomplete โ€” and instead of suggestions, you get:

Language server is not ready yet. Wait for it to fully load.

IntelliSense is dead. No hover docs, no autocomplete, no go-to-definition. If this is mid-review or mid-debug, it's brutal.

Why This Happens

VS Code delegates language intelligence to separate processes called Language Servers (LSP). When you see this message, the language server either:

  • Crashed on startup and never recovered
  • Is still indexing a large project โ€” expected for the first 2โ€“3 minutes on a 5,000+ file codebase, a problem if it's stuck beyond that
  • Failed to find the correct runtime (Python interpreter, Node.js, JDK, etc.)
  • Hit a memory or CPU limit and stalled
  • Has a corrupted extension cache

Each cause has a different fix. Start with Fix 1 โ€” it resolves the issue for most people without any deeper digging.

Fix 1: Restart the Language Server (Fastest)

Before anything else โ€” restart the specific language server without restarting VS Code.

Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and run:

Python: Restart Language Server
TypeScript: Restart TS Server
Java: Clean Workspace
C/C++: Reset IntelliSense Database

The exact command depends on your language. For Python it's Python: Restart Language Server, for TypeScript/JavaScript it's TypeScript: Restart TS Server.

Wait 10โ€“15 seconds, then hover over a symbol. If IntelliSense responds, you're done.

Fix 2: Check the Language Server Output Log

Restarting didn't help? Time to look at what the server is actually complaining about. Open the Output panel:

View โ†’ Output  (or Ctrl+Shift+U)

In the dropdown on the right, select your language server (e.g., Pylance, TypeScript and JavaScript Language Features, Java Language Server).

Look for lines like:

Error: spawn python ENOENT
Failed to start language server
Java home not found
Cannot find module 'typescript'

These tell you exactly what's broken. Common culprits:

  • ENOENT โ†’ runtime not found (wrong interpreter path)
  • Cannot find module โ†’ missing npm/pip package
  • Java home not found โ†’ JAVA_HOME not set
  • Out of memory โ†’ increase heap (see Fix 5)

Fix 3: Select the Correct Interpreter/Runtime

Wrong or missing runtime is the most common culprit. VS Code might be pointed at a Python that doesn't exist, a Node version that's too old, or a JDK it simply can't locate.

Python (Pylance / Python extension)

Ctrl+Shift+P โ†’ Python: Select Interpreter

Pick the correct virtualenv or system Python. Verify with:

which python3
python3 --version

Then lock it in via .vscode/settings.json:

{
  "python.defaultInterpreterPath": "/usr/bin/python3"
}

TypeScript/JavaScript

If the project has its own TypeScript install, tell VS Code to use it:

Ctrl+Shift+P โ†’ TypeScript: Select TypeScript Version โ†’ Use Workspace Version

Java

Set JAVA_HOME and restart VS Code:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

Fix 4: Clear Extension Cache

After a VS Code update, stale cache files can leave the language server in a broken state. Delete the workspace storage folder and let VS Code rebuild it from scratch.

Windows

%APPDATA%\Code\User\workspaceStorage\

Delete all folders inside workspaceStorage (safe to delete โ€” VS Code regenerates them).

macOS

rm -rf ~/Library/Application\ Support/Code/User/workspaceStorage/*

Linux

rm -rf ~/.config/Code/User/workspaceStorage/*

After clearing, reload VS Code (Ctrl+Shift+P โ†’ Developer: Reload Window) and wait for re-indexing to finish.

Fix 5: Increase Language Server Memory (Java / Large Projects)

For Java or large TypeScript projects, the language server can run out of heap memory and freeze. The default limits are too low for monorepos or codebases with 10,000+ files.

Java Language Server

In .vscode/settings.json:

{
  "java.jdt.ls.vmargs": "-XX:+UseG1GC -XX:+UseStringDeduplication -Xmx2G"
}

TypeScript Server

{
  "typescript.tsserver.maxTsServerMemory": 4096
}

Restart the language server after changing these settings.

Fix 6: Reinstall the Language Extension

Nothing worked so far? The extension itself might be corrupted โ€” a partial update can leave it in a half-broken state. Wipe it and reinstall clean.

# Uninstall via CLI
code --uninstall-extension ms-python.python
code --uninstall-extension ms-python.vscode-pylance

# Reinstall
code --install-extension ms-python.python
code --install-extension ms-python.vscode-pylance

Or do it via the Extensions sidebar: find the extension โ†’ gear icon โ†’ Uninstall, then reinstall.

Fix 7: Check for Conflicting Extensions

Two extensions fighting over the same language can prevent the language server from starting at all. This one is tricky โ€” there's no obvious error message, everything just stays stuck.

Ctrl+Shift+P โ†’ Developer: Start Extension Bisect

This binary-searches your enabled extensions to find the conflicting one. Follow the prompts โ€” it takes 3โ€“5 rounds to isolate the culprit.

Verify the Fix

Quick sanity check โ€” IntelliSense should pass all of these:

  • Hover over a function โ€” you should see its signature and docs
  • Type a method name partially โ€” autocomplete suggestions should appear
  • Right-click a symbol โ†’ Go to Definition should navigate correctly
  • Check the Status Bar at the bottom โ€” language server name (e.g., Pylance) with no warning icons

You can also open the Output panel and confirm the language server logged something like:

Language server started successfully
Server ready

Prevention

  • Pin your VS Code version if you're on a large project โ€” major updates can break language servers temporarily
  • Commit .vscode/settings.json with interpreter paths so teammates don't hit this on first clone
  • Keep extensions updated โ€” language server bugs get patched frequently
  • Exclude heavy directories from indexing to prevent slow startup:
{
  "python.analysis.exclude": ["**/node_modules", "**/.venv", "**/dist"],
  "files.watcherExclude": {
    "**/node_modules/**": true,
    "**/.git/**": true
  }
}

Related Error Notes