What's Actually Happening

You're trying to install a VSCode extension, but the installation fails. The extension has dependencies that can't be satisfied, requires a different VSCode version, or conflicts with existing extensions. The extension shows as failed to install, won't activate, or throws errors when you try to use it.

VSCode extensions can depend on other extensions, specific VSCode versions, or runtime components like Node.js, Python, or language servers. When these dependencies aren't met, the extension can't function properly.

The Error You'll See

VSCode extension dependency errors appear in various ways:

```bash # Extension install dialog error Failed to install 'ms-python.python'. Please make sure you have the required dependencies installed.

# In Output panel - Extensions [error] Failed to install extension: ms-python.python [error] Dependency 'ms-python.vscode-pylance' is not installed

# Extension Host logs [error] Extension 'esbenp.prettier-vscode' failed to activate: Cannot find module 'prettier'

# In Problems panel Extension 'dbaeumer.vscode-eslint' is disabled because it depends on 'vscode-eslint-server' which is not installed.

# Notification popup The extension 'Lua' requires VSCode version ^1.60.0 but you have 1.58.0 installed.

# Extension manager Extension is disabled because it depends on an extension that is not installed.

# When trying to use extension Command 'python.runSelection' not found

# Settings sync conflicts Unable to sync extension: Conflicts with existing extension version.

# Marketplace install failure Error while installing extension: Download failed - server returned 404

# In Developer Tools Console Error: Cannot activate extension 'my.extension' because it depends on 'other.extension' which is not installed.

# Extension activation failure Activating extension 'my.extension' failed: Cannot find module '../node_modules/some-dep' ```

Additional symptoms: - Extension appears grayed out in Extensions panel - Extension commands not available in Command Palette - Extension features don't work - "Extension is disabled" message - Other extensions that depend on it also fail - Workspace shows extension recommendations that won't install

Why This Happens

  1. 1.Missing Extension Dependencies: The extension requires another extension that isn't installed. For example, Python extension requires Pylance extension for IntelliSense. VSCode sometimes doesn't auto-install dependencies.
  2. 2.VSCode Version Incompatibility: The extension requires a newer VSCode version than what you have. Extensions specify minimum VSCode version in their manifest, and older versions can't run newer extensions.
  3. 3.Runtime Dependencies Missing: Extension requires external tools (Node.js, Python, Java, .NET) that aren't installed or aren't in PATH. Language servers and formatters often need these runtimes.
  4. 4.Conflicting Extensions: Two extensions provide the same functionality or modify the same VSCode behavior, causing conflicts. One disables the other.
  5. 5.Extension Pack Issues: Extension packs bundle multiple extensions, but individual extensions in the pack may fail to install or activate.
  6. 6.Platform Incompatibility: Extension is designed for specific platforms (Windows, macOS, Linux) and fails on others. Some extensions include native binaries that are platform-specific.
  7. 7.Corrupted Extension Installation: Previous installation attempt was interrupted, leaving partial files. VSCode can't complete the installation due to corrupted state.
  8. 8.Network/Download Issues: Extension download from marketplace fails due to network issues, proxy configuration, or marketplace outages.

Step 1: Check Extension Details and Requirements

Review the extension's requirements before installation.

```bash # Open VSCode Extensions panel # Keyboard shortcut: Ctrl+Shift+X (Windows/Linux) or Cmd+Shift+X (macOS)

# Click on the extension you want to install # Check: # - Requirements section # - Other Extensions section (dependencies) # - VS Code version required

# Or check extension page in browser: # https://marketplace.visualstudio.com/items?itemName=publisher.extension-name

# View extension details via CLI: code --list-extensions --show-versions

# Check VSCode version: code --version

# Or in VSCode: # Help > About # Keyboard: Ctrl+Shift+P > "About"

# Check installed extensions: code --list-extensions

# View extension logs: # In VSCode: # View > Output # Select "Extensions" from dropdown

# Check extension host logs: # Help > Toggle Developer Tools # Console tab

# View extension installation directory: # Windows: %USERPROFILE%\.vscode\extensions # macOS/Linux: ~/.vscode/extensions

ls ~/.vscode/extensions/ ls "%USERPROFILE%\.vscode\extensions"

# Check for error logs: # Windows: %APPDATA%\Code\logs # macOS: ~/Library/Application Support/Code/logs # Linux: ~/.config/Code/logs

ls ~/.config/Code/logs/ ```

Step 2: Install Missing Extension Dependencies

Manually install required dependencies.

```bash # Check extension dependencies in marketplace # Extensions panel > click extension > scroll to "Other Extensions"

# Install missing dependencies: # Method 1: Click "Install" on each dependency extension

# Method 2: CLI installation: code --install-extension ms-python.vscode-pylance code --install-extension ms-python.python

# Method 3: In VSCode Command Palette: # Ctrl+Shift+P > "Extensions: Install Extensions" # Search for dependency name

# For extension packs, all included extensions install automatically # If not, install individually

# Check which extensions are installed: code --list-extensions | grep python

# Force reinstall extension: code --uninstall-extension ms-python.python code --install-extension ms-python.python

# Install specific version: code --install-extension ms-python.python@2023.1.0

# Install from VSIX file: code --install-extension extension.vsix ```

Step 3: Check and Update VSCode Version

Ensure VSCode meets extension version requirements.

```bash # Check current VSCode version: code --version

# Check VSCode version requirement in extension: # Go to extension page in marketplace # Look for "Visual Studio Code" under Requirements

# Example requirement: ^1.74.0 # Your version must be >= 1.74.0

# Update VSCode: # Windows: Help > Check for Updates # macOS: Code > Check for Updates # Linux: Use package manager

# On Windows, update via: # Download from https://code.visualstudio.com/

# On macOS: brew upgrade --cask visual-studio-code

# On Linux (Ubuntu/Debian): sudo apt update sudo apt upgrade code

# On Linux (Fedora): sudo dnf upgrade code

# On Linux (Arch): sudo pacman -Syu code

# Check if update available: # View > Appearance > Show Status Bar # Click gear icon > Check for Updates

# After update, verify: code --version

# Restart VSCode after update ```

Step 4: Install Runtime Dependencies

Install external tools required by extensions.

```bash # Check extension requirements for runtime dependencies # Example: Python extension needs Python interpreter

# For Python extensions: python --version # If missing, install: # Windows: Download from python.org # macOS: brew install python # Linux: sudo apt install python3

# For Node.js-based extensions: node --version npm --version # If missing: # Windows/macOS: Download from nodejs.org # Linux: sudo apt install nodejs npm

# For Go extensions: go version # If missing: # Download from go.dev

# For Java extensions: java --version # If missing: # Install JDK from adoptium.net or similar

# For .NET extensions: dotnet --version # If missing: # Download from dotnet.microsoft.com

# For C/C++ extensions: gcc --version # If missing: # Windows: Install MinGW or Visual Studio Build Tools # macOS: xcode-select --install # Linux: sudo apt install build-essential

# For shell extensions: bash --version zsh --version

# Check PATH includes required tools: echo $PATH

# On Windows: echo %PATH%

# Verify VSCode can find the tools: # Ctrl+Shift+P > "Terminal: Create New Terminal" # Run command: python --version ```

Step 5: Resolve Extension Conflicts

Handle conflicts between extensions.

```bash # Check for conflicting extensions: # Extensions panel > search for similar functionality

# Common conflicts: # - Multiple formatters for same language (Prettier vs Beautify) # - Multiple linters (ESLint vs JSHint) # - Multiple language servers

# Disable conflicting extension: # Extensions panel > click extension > Disable button

# Via CLI: code --disable-extension publisher.extension-name

# Or edit settings.json: # Ctrl+Shift+P > "Open User Settings (JSON)" ```

json
{
  "extensions.ignoreRecommendations": false,
  "extensions.autoUpdate": true,
  "extensions.autoCheckUpdates": true
}

```bash # Check extension conflicts in logs: # View > Output > Extensions

# Reinstall both extensions fresh: code --uninstall-extension esbenp.prettier-vscode code --uninstall-extension dbaeumer.vscode-eslint code --install-extension esbenp.prettier-vscode code --install-extension dbaeumer.vscode-eslint

# Configure which extension handles what: # In settings.json: ```

json
{
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[python]": {
    "editor.defaultFormatter": "ms-python.python"
  }
}

Step 6: Fix Corrupted Extension Installation

Clean and reinstall broken extensions.

```bash # Uninstall the problematic extension: code --uninstall-extension publisher.extension-name

# Remove extension directory manually: # Find extension directory: ls ~/.vscode/extensions/ | grep publisher

# Remove it: rm -rf ~/.vscode/extensions/publisher.extension-name*

# On Windows: rmdir /s /q "%USERPROFILE%\.vscode\extensions\publisher.extension-name"

# Clear extension cache: rm -rf ~/.vscode/extensions/.obsolete

# Clear VSCode cache: rm -rf ~/.config/Code/Cache rm -rf ~/.config/Code/CachedData

# On Windows: rmdir /s /q "%APPDATA%\Code\Cache" rmdir /s /q "%APPDATA%\Code\CachedData"

# Restart VSCode completely # Close all VSCode windows

# Reinstall extension: code --install-extension publisher.extension-name

# Verify installation: code --list-extensions | grep publisher

# Check extension works: # Try using extension command ```

Step 7: Install Extension Manually from VSIX

Install extensions when marketplace fails.

```bash # Download VSIX file from marketplace: # https://marketplace.visualstudio.com/items?itemName=publisher.extension-name # Click "Download" link

# Or download from GitHub releases: # Check extension repository for releases

# Install from VSIX file: code --install-extension extension-name-x.x.x.vsix

# If VSIX download fails, try alternative source: # 1. Open VSIX URL in browser directly # 2. Use wget or curl: wget "https://marketplace.visualstudio.com/_apis/public/gallery/publishers/publisher/vsextensions/extension-name/version/vsixfile"

# Install multiple VSIX files: for vsix in *.vsix; do code --install-extension "$vsix" done

# Extract VSIX to inspect contents: unzip extension.vsix -d extension-contents/

# Check extension manifest: cat extension-contents/extension/package.json

# Create VSIX from source (if you have the code): npm install -g @vscode/vsce cd extension-directory vsce package code --install-extension *.vsix ```

Step 8: Fix Network and Proxy Issues

Resolve connection problems to marketplace.

```bash # Check internet connectivity: ping marketplace.visualstudio.com

# Test marketplace access: curl -I https://marketplace.visualstudio.com/

# Configure proxy in VSCode: # Settings > search "proxy" # Or settings.json: ```

json
{
  "http.proxy": "http://proxy.company.com:8080",
  "http.proxyStrictSSL": false,
  "http.proxySupport": "on"
}

```bash # Or set environment variables: export HTTP_PROXY="http://proxy.company.com:8080" export HTTPS_PROXY="http://proxy.company.com:8080"

# On Windows: set HTTP_PROXY=http://proxy.company.com:8080 set HTTPS_PROXY=http://proxy.company.com:8080

# For corporate networks with custom CA: # Add certificate to VSCode's certificate store: # Settings > search "certificate" # "http.systemCertificates": true

# Or specify certificate: ```

json
{
  "http.proxySupport": "on",
  "http.systemCertificates": true
}
bash
# Disable proxy for VSCode if not needed:
json
{
  "http.proxySupport": "off"
}

```bash # Clear network cache: rm -rf ~/.config/Code/CachedExtensions

# Try alternative marketplace: # Open VSIX file directly instead of marketplace ```

Step 9: Configure Extension Settings

Set up extension correctly after installation.

```bash # Open extension settings: # Extensions panel > click installed extension > Gear icon > Extension Settings

# Or via Command Palette: # Ctrl+Shift+P > "Preferences: Open Settings (UI)" # Search for extension name

# Check extension contributes settings: # Extensions panel > click extension > Feature Contributions tab

# Common settings to check: # - Executable path (for tools like Python, Node) # - Language server path # - Formatter path # - Linter path

# Example for Python: ```

json
{
  "python.defaultInterpreterPath": "/usr/bin/python3",
  "python.terminal.activateEnvironment": true,
  "python.languageServer": "Pylance"
}
bash
# Example for ESLint:
json
{
  "eslint.enable": true,
  "eslint.validate": ["javascript", "javascriptreact", "typescript"],
  "eslint.packageManager": "npm"
}

```bash # Reload VSCode after configuration: # Ctrl+Shift+P > "Developer: Reload Window"

# Or restart VSCode completely ```

Step 10: Debug Extension Issues

Use debugging tools to identify extension problems.

```bash # Open Developer Tools: # Help > Toggle Developer Tools # Keyboard: Ctrl+Shift+I (Windows/Linux) or Cmd+Option+I (macOS)

# Check Console for errors: # Filter by "extension" or extension name

# Check Extension Host: # Ctrl+Shift+P > "Developer: Show Running Extensions" # Shows all active extensions and their activation times

# Start VSCode with extension debugging: code --verbose

# Or: code --log-level=debug

# Check extension host output: # View > Output > Extension Host

# Run extension in development mode: # If you have extension source: code --extensionDevelopmentPath=/path/to/extension

# Check extension activation events: # In extension's package.json: cat ~/.vscode/extensions/publisher.extension-name*/package.json | grep -A10 "activationEvents"

# Disable all extensions to isolate issue: code --disable-extensions

# Then enable one by one to find the problematic one

# Check extension log file: # Windows: %APPDATA%\Code\logs\exthost # macOS: ~/Library/Application Support/Code/logs/exthost # Linux: ~/.config/Code/logs/exthost

ls ~/.config/Code/logs/exthost*/

# Use Extension Bisect to find problematic extension: # Ctrl+Shift+P > "Extension Bisect: Start" # VSCode will help identify which extension causes issues ```

Checklist for Fixing VSCode Extension Dependency Issues

StepActionCommandStatus
1Check extension requirementsView extension page in marketplace
2Install missing dependenciescode --install-extension dependency-name
3Update VSCode versionCheck for updates in Help menu
4Install runtime dependenciesInstall Node.js, Python, etc.
5Resolve extension conflictsDisable conflicting extensions
6Fix corrupted installationUninstall and reinstall extension
7Install manually from VSIXcode --install-extension file.vsix
8Fix network/proxy issuesConfigure proxy in settings
9Configure extension settingsSet correct paths and options
10Debug extension issuesUse Developer Tools and logs

Verify the Fix

After fixing extension dependency issues:

```bash # 1. Extension appears in installed list code --list-extensions | grep extension-name # Should show the extension

# 2. Extension is active # Extensions panel > installed extension should not be grayed out

# 3. Extension commands available # Ctrl+Shift+P > type extension name # Should show extension commands

# 4. Extension features work # Test the extension functionality

# 5. No errors in Output panel # View > Output > Extensions # No red error messages

# 6. Developer Tools console clean # Help > Toggle Developer Tools # No extension-related errors

# 7. Extension settings accessible # Gear icon on extension > Extension Settings

# 8. Extension activates without errors # Check Extension Host output

# 9. Dependencies installed # Check "Other Extensions" section

# 10. Runtime tools found # Extension can find Python/Node.js/etc. ```

  • [Fix Vim Neovim Plugin Manager Sync](/articles/fix-vim-neovim-plugin-manager-sync) - Vim plugin issues
  • [Fix Python Poetry Lock Conflict](/articles/fix-python-poetry-lock-conflict) - Python dependency issues
  • [Fix Node NPM Package Install Failed](/articles/fix-node-npm-package-install-failed) - NPM package issues
  • [Fix Git Clone Failed](/articles/fix-git-clone-failed-repository-not-found) - Git clone issues
  • [Fix VSCode Remote SSH Connection Failed](/articles/fix-vscode-remote-ssh-connection-failed) - Remote connection
  • [Fix VSCode Settings Sync Failed](/articles/fix-vscode-settings-sync-failed) - Settings sync issues
  • [Fix VSCode Terminal Not Working](/articles/fix-vscode-terminal-not-working) - Terminal issues