Few things are more confusing than this: the Extensions panel says an extension is installed, yet nothing happens. No commands, no colors, no features in the editor at all. It feels like the extension is present and broken at the same time.
Usually, the extension is not broken. It is simply waiting for the right moment, the right file type, or the right workspace trust level before it starts. This guide explains how activation really works in VS Code and gives you a clear checklist to wake a sleeping extension up.
Quick Answer
A VS Code extension installs but never activates when its activation events are not met, the workspace is in Restricted Mode, it is disabled for the workspace, or it failed to load because of an error. Open a file type the extension supports, trust the workspace, check that the extension is enabled, and reload the window. If it still fails, read the Output panel log for that extension to find the exact error.
How Extension Activation Actually Works
To keep VS Code fast, most extensions do not run all the time. Instead, each extension declares activation events in its manifest. These are the conditions that wake it up.
Common activation events include opening a file of a certain language, running one of its commands, or opening a workspace that contains a special file. A Python extension may wait for a .py file. A database tool may wait until you run its connect command. Until that moment, the extension sits installed but completely asleep, which is normal and by design.
Installed, Enabled, and Activated Are Three Different Things
These three words sound similar, but they mean different things, and mixing them up causes most of the confusion.
- Installed means the extension files are on your computer.
- Enabled means you have not switched it off globally or for this workspace.
- Activated means its code is running right now in this window.
An extension can be installed and enabled, yet not activated, simply because you have not opened the kind of file it cares about yet. The VS Code extension marketplace guide explains these states and how to manage extensions from the Extensions view.
Step 1: Trigger the Extension on Purpose
Before changing any settings, try to activate the extension deliberately. This one step solves a surprising number of cases.
- Open a file that matches the extension’s purpose, such as a
.pyfile for a Python tool. - Press
Ctrl+Shift+Pand search for a command with the extension’s name. - Run one of its commands, even a simple one like a Show or Start command.
- Watch the bottom status bar for new icons or messages from the extension.
If the extension wakes up when you run its command, nothing was ever wrong. Its activation event was simply command-based, and now you know how to start it.
Step 2: Check for Restricted Mode
VS Code opens unfamiliar folders in Restricted Mode to protect you from unknown code. In this mode, many extensions are disabled automatically, because extensions can run code on your machine.
Look for a message in the status bar or a banner saying the workspace is not trusted. If you see it, and you know the folder is safe because it is your own project, follow these steps:
- Click the Restricted Mode message in the status bar, or open the Command Palette.
- Run the command Workspaces: Manage Workspace Trust.
- Choose to trust the folder and its parent if appropriate.
- Reload the window if VS Code asks you to.
After trusting, blocked extensions are allowed to activate. The official workspace trust documentation explains why this safety feature exists and which features it limits.
Step 3: Confirm the Extension Is Enabled for This Workspace
VS Code lets you disable an extension globally, or only inside one workspace. That second option is easy to forget. You may have disabled it weeks ago while testing something else.
- Open the Extensions view with
Ctrl+Shift+X. - Search for the extension and click on it to open its page.
- Look for a Disable or Enable button and any note saying it is disabled in this workspace.
- If it is disabled, click Enable or Enable (Workspace) to turn it back on.
- Reload the window when prompted.
Also check the extension page for warnings. Some extensions show a message that they need another tool installed, such as a language runtime, before they can start.
Step 4: Read the Output Log for the Real Error
When an extension tries to activate and fails, it usually leaves a clear error message. Most users never look at it, but it is the fastest way to stop guessing.
- Open the Output panel from the View menu or with
Ctrl+Shift+U. - Use the dropdown on the right side of the Output panel to select the extension’s name.
- Reload the window and watch the log as the extension tries to start.
- Read the first error line carefully; later lines are often just effects of the first one.
Common log messages point to a missing dependency, a wrong setting path, or a version conflict. Once you can read the actual error, the fix is usually obvious, and you can also search for that exact message if you need more help.
Check the Developer Tools Console for Load Failures
If the extension does not even appear in the Output dropdown, it may have failed before it could write a log. Open Help, then Toggle Developer Tools, and look at the Console tab after a reload. Red errors mentioning the extension’s name reveal deeper load problems, such as a corrupt install.
Step 5: Fix Version and Compatibility Problems
Extensions declare which VS Code versions they support. If your editor is very old, a new extension may refuse to activate. The reverse also happens: a very old extension may break on a brand-new editor.
Update VS Code from the Help menu, then update the extension from its page in the Extensions view. If an update caused the problem, the extension page also offers Install Another Version in its gear menu, so you can step back to the previous release while the author fixes the bug.
Remote development adds one more twist. When you work over SSH or inside a container, some extensions must be installed in the remote environment, not just locally. The extension page will show an Install in SSH or Install in Container button when that applies.
Step 6: Reinstall Cleanly When Nothing Else Works
A damaged download can leave an extension half-installed. A clean reinstall replaces all of its files.
- Uninstall the extension from its page in the Extensions view.
- Restart VS Code completely.
- Install the extension again from the Marketplace.
- Open a matching file and test activation.
If you are rebuilding a tidy setup, it helps to keep your extension list small and purposeful. Our picks for the best VS Code extensions for beginners focus on reliable tools that activate cleanly and do not fight each other.
Common Mistakes to Avoid
- Expecting instant activation: Many extensions wait for the right file or command by design.
- Ignoring Restricted Mode: An untrusted workspace silently blocks many extensions.
- Disabling and forgetting: A workspace-level disable stays in place until you undo it.
- Never reading the Output log: The exact error is usually written there in plain words.
- Installing duplicates: Two extensions for the same job can block or override each other.
- Skipping the reload: Many fixes only take effect after a window reload or full restart.
Conclusion
An installed extension that never activates is usually waiting, blocked, or quietly failing with a logged error. Trigger it with the right file or command, trust your workspace, confirm it is enabled, and read its Output log. Work through those checks in order, and you will either wake the extension up or know exactly why it cannot run.
Frequently Asked Questions
How can I tell if an extension is activated?
Run the command Developer: Show Running Extensions from the Command Palette. The list shows which extensions are running and, for many, what activated them and how long they took to start.
Why does an extension work in one folder but not another?
The failing folder is probably in Restricted Mode, or the extension is disabled for that workspace. Trust the folder and check the extension page while that folder is open.
Can an extension activate automatically when VS Code starts?
Yes, some extensions use a startup activation event, but most avoid it to keep VS Code fast. If an extension only starts with a file or command, that behaviour is intentional.
What should I do if the Output log shows a missing dependency?
Install the tool the message names, such as a language runtime or a command-line program, then reload the window. The extension page usually lists its requirements in the description.
Is it safe to trust every workspace so extensions work?
Only trust folders you created yourself or received from someone you trust. Trust allows extensions and tasks to run code, so unknown downloads should stay in Restricted Mode.


Leave a Reply