Everyday Toolkit

How to Restart VS Code Extensions: Commands, Shortcuts & Troubleshooting

Published 2026-07-27

Updated Jul 2026

Some links on this page are affiliate links. If you buy through them we may earn a small commission at no extra cost to you. We only recommend what we'd use.

Key takeaways
  • Use "Developer: Restart Extension Host" to crash-fix without closing files
  • "Reload Window" resets the full UI state instantly
  • Toggling individual extensions isolates conflicting plugins
  • Inspecting the Output channel isolates memory leaks and syntax server errors
How to Restart VS Code Extensions: Commands, Shortcuts & Troubleshooting
Photo: Daniel Vilnersson (CC0) via Openverse

How to Restart VS Code Extensions: Commands, Shortcuts & Troubleshooting

Why Restart VS Code Extensions?

Restarting VS Code extensions clears stalled language servers, fixes memory leaks, and restores broken IntelliSense without forcing you to restart your entire development environment. Knowing which restart method to apply keeps your workspace responsive while preserving active terminal sessions, open file tabs, and unsaved editor buffers during deep debugging sessions. Extensions run in a dedicated process side-by-side with VS Code's core interface. Heavy plugins—like Python's Pylance, Rust Analyzer, ESLint, or Docker tools—frequently spawn background workers that can hang or consume excessive CPU. Rather than tearing down your entire workspace layout, targeted restarts isolate and refresh these background scripts in seconds.

Method 1: Restarting the Extension Host

How to Restart VS Code Extensions: Commands, Shortcuts & Troubleshooting
Photo: Saraniero, Michael A. via Wikimedia Commons
Restarting the Extension Host targets the isolated Node.js process running your plugins without re-rendering the visual user interface. Run `Developer: Restart Extension Host` via the Command Palette to clear memory leaks, reset frozen language servers, and restore code completion without losing unsaved editor tabs or terminating active integrated terminal instances. This approach is the cleanest fix when code completion stops working or syntax highlighting freezes mid-file. Because VS Code keeps its UI layer separate from extension logic, killing the Extension Host terminates all running extensions and launches them anew while leaving your open files completely untouched. To run this command:
  1. Press Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS) to bring up the Command Palette.
  2. Type Developer: Restart Extension Host and hit Enter.
  3. Watch the bottom status bar briefly flash as your language servers and background extensions re-initialize.
If an extension was locked in an infinite loop or hanging on a large project index, this action forces a clean boot of its background process.

Method 2: Reloading the Entire VS Code Window

Reloading the VS Code window terminates and reconstructs the workbench UI along with all active extension background worker threads. Trigger this by opening the Command Palette and selecting `Developer: Reload Window`, or pressing `Ctrl+R` / `Cmd+R` when focused on the palette, quickly clearing heavy visual glitches and stalled themes. Use a full window reload when UI elements act up—for instance, when custom file icons vanish, sidebars fail to render, or Git source control trees stop refreshing. While slightly broader than restarting the Extension Host, it takes only a couple of seconds on modern hardware. To execute a window reload:
  1. Open the Command Palette using Ctrl+Shift+P or Cmd+Shift+P.
  2. Type Reload Window and press Enter.
Your open editors, layout splits, and terminal tabs will restore automatically. Unsaved changes in text buffers remain intact because VS Code backs up unsaved state locally before tearing down the workbench window.

Method 3: Disabling and Re-enabling Specific Extensions

Disabling and re-enabling a specific extension forces VS Code to destroy that plugin's active runtime instance and re-execute its activation event. Open the Extensions sidebar (`Ctrl+Shift+X` or `Cmd+Shift+X`), click the gear icon on the target extension, select `Disable`, and then immediately click `Enable` to reload its settings cleanly. When only one specific plugin acts up—like a formatter refusing to read a freshly edited `.prettierrc` file—reloading the entire editor is overkill. Toggling the extension off and on forces it to discard cached configuration data and run its activation routines again. Follow these steps for a targeted toggle:
  1. Open the Extensions panel by clicking the block icon on the Activity Bar or pressing Ctrl+Shift+X / Cmd+Shift+X.
  2. Find the malfunctioning extension in your installed list.
  3. Click the Disable button (or click the gear icon and select Disable).
  4. Wait two seconds, then click Enable.
If the extension requires a full reload to unload its background dependencies entirely, VS Code displays a small blue "Reload Required" button right inside the extension details tab.

Method 4: Performing a Full Application Restart

A full application restart completely closes the VS Code Electron shell process, flushing shared system memory and native OS bindings before launching a fresh application process. Quit VS Code completely using `File > Exit` (or `Cmd+Q` on macOS), wait a few seconds, and reopen it to resolve stubborn native binary crashes. Occasionally, extensions that depend on native binaries (such as C++ debuggers, local AI code assistants, or container runtimes) leave zombie processes behind in your operating system's process table. When this occurs, inner host reloads cannot clear the stuck file handle or locked network port. To make sure you fully clear the application process tree:
  1. Save your open files (`Ctrl+S` or `Cmd+S`).
  2. Close the application via `File > Exit` on Windows/Linux or press `Cmd+Q` on macOS.
  3. Check your OS task manager (Task Manager on Windows, Activity Monitor on macOS) if issues persist to ensure no orphaned `Code` or `node` processes remain hanging.
  4. Launch VS Code again from your application launcher or terminal command line (`code .`).

Comparing VS Code Extension Restart Methods

Choosing the right restart method depends on whether you are troubleshooting a single frozen language server, a corrupted workbench theme, or an out-of-memory crash. Selecting the precise command minimizes workflow disruption while ensuring background services, unsaved file buffers, and active terminal commands reset cleanly without unneeded downtime. | Restart Method | Target Scope | Preserves Unsaved Files? | Preserves Terminal Sessions? | Best Applied For | |---|---|---|---|---| | **Restart Extension Host** | Extension runtime processes | Yes | Yes | Frozen language servers, stuck linters, background crashes | | **Reload Window** | Workbench UI + Extensions | Yes | Re-attaches | Visual bugs, missing icons, theme glitches, webview crashes | | **Disable / Re-enable** | Individual chosen plugin | Yes | Yes | Applying new plugin settings, testing single plugin conflicts | | **Full App Restart** | Electron Shell + System Threads | Yes (if Auto Save enabled) | No (terminates processes) | Native binary crashes, locked file handles, update applications |

Troubleshooting Persistent Extension Crashes

When basic reloads fail to fix unresponsive extensions, check the Extension Host log panel under `View > Output` and select `Log (Extension Host)` from the dropdown menu. Inspecting these logs exposes unhandled exceptions, memory exhaustion issues, bad settings configurations, and version incompatibilities that prevent extensions from initializing correctly. If an extension continues to hang your workspace upon launch, try these advanced diagnostic steps:
  • Use Extension Bisect: Open the Command Palette and run Help: Start Extension Bisect. VS Code systematically disables half your extensions at a time, guiding you through a quick process to pinpoint the exact broken plugin.
  • Review Output Streams: Open the Output tab (Ctrl+Shift+U or Cmd+Shift+U) and switch the channel dropdown to the specific extension's name (e.g., TypeScript, ESLint, or Python) to read raw error stack traces.
  • Clear Extension Cache: Close VS Code and navigate to ~/.vscode/extensions on Linux/macOS or %USERPROFILE%\.vscode\extensions on Windows. Deleting a problematic extension's directory forces VS Code to download a pristine copy on the next install.
  • Check Node Memory Limits: Heavy monorepo projects can cause language servers to run out of memory. Try adding "typescript.tsserver.maxTsServerMemory": 4096 to your settings.json file to raise memory ceilings for language services.

FAQ

Will restarting the Extension Host lose unsaved code?

No. Restarting the Extension Host only resets the background Node.js process managing plugins. Unsaved code buffers stay active in the editor UI without losing modifications.

🛍 Ready to buy? Check current prices on Amazon for the picks in this guide.

What is the difference between Reload Window and Restart Extension Host?

Restarting the Extension Host only resets background scripts and language servers. Reloading the Window re-renders the complete workbench interface, clearing UI glitches along with all extensions.

Why does my language server keep freezing in VS Code?

Language servers usually freeze when processing massive file trees, handling circular dependencies, or running out of assigned heap memory. Raising memory allocation or restarting the Extension Host clears these temporary hangs.

How do I fix an extension that crashes continuously on startup?

Run the command Help: Start Extension Bisect from the Command Palette to identify corrupt plugins, or launch VS Code from your terminal with code --disable-extensions to open a clean session.

Is there a keyboard shortcut to restart VS Code extensions?

There is no default keybinding for Extension Host restarts, but you can assign one. Open Keyboard Shortcuts (`Ctrl+K Ctrl+S`), search for `Developer: Restart Extension Host`, and assign your preferred key combination.

🛍 See today's best prices on Amazon and grab the option that fits you.

Editorial Team Author & reviewer

Hands-on reviewers testing tools, apps and services so you do not have to. Every article here is hands-on tested and human-reviewed before publishing.