If your VS Code terminal is not working, first check its profile, the shell outside VS Code, and terminal rendering. These reversible tests cover terminals that will not open, accept typing, or show output.
This guide walks through the most common causes in order from quickest to most involved. Test after each fix to see if the terminal works.
These checks follow the official VS Code terminal launch troubleshooting guide.
Check your terminal profile settings
The most common reason a terminal will not open is a misconfigured profile setting. VS Code uses profile settings to know which shell to launch and how to launch it.
Open the Settings editor and type @modified terminal.integrated in the search bar. See how to open and use the integrated terminal if you are new to the terminal. This filter shows only terminal settings you have changed from their defaults. Check these entries:
- Default Profile: Must point to a valid profile defined in your profiles list. If you recently uninstalled a shell, this may point to something that no longer exists.
- Profiles: Each profile needs a correct path to the shell executable. A typo in the path or arguments will prevent the terminal from launching.
- Cwd: If set to a path that does not exist, the terminal fails to start.
- Env: Bad environment variable values can prevent shell initialization.
If you are unsure which setting is wrong, use the setting's gear menu to Reset Setting one entry at a time. Record the old value first, then create a terminal after each reset. See how to change the default terminal for shell profile setup.
Test your shell outside VS Code
Before changing VS Code, check that your shell works on its own. Open Terminal on macOS, Command Prompt or PowerShell on Windows, or your usual terminal on Linux, then run a harmless command such as echo hello.
If the system terminal also fails, the problem is with your shell installation, not VS Code. Reinstall or repair your shell, then try again.
If the system terminal works but VS Code does not, move on to the next sections.
Update VS Code and your shell
An outdated VS Code or shell can cause compatibility problems. Each monthly VS Code release includes terminal fixes.
To check your VS Code version, go to Code > About Visual Studio Code on macOS, or Help > About on Windows and Linux. Compare it with the latest version on the VS Code release notes page.
If the shell is installed separately, update it through its official installer or your operating system's package manager. Avoid changing shells and terminal settings at the same time, because that makes the result harder to diagnose.
After updating, restart VS Code and try the terminal again.
Fix Windows-specific issues
If you are on Windows, several OS-level settings can block the terminal.
Disable compatibility mode
Right-click the VS Code shortcut or executable, select Properties, and open the Compatibility tab. Make sure Run this program in compatibility mode for is unchecked. Compatibility mode breaks the low-level terminal emulation VS Code relies on.
Check anti-virus exclusions
Some antivirus software blocks the components VS Code uses to create terminal processes. Only consider an exclusion when the terminal reports A native exception occurred and the antivirus history shows that it blocked one of these files:
{install_path}\resources\app\node_modules.asar.unpacked\node-pty\build\Release\winpty.dll{install_path}\resources\app\node_modules.asar.unpacked\node-pty\build\Release\winpty-agent.exe{install_path}\resources\app\node_modules.asar.unpacked\node-pty\build\Release\conpty.node{install_path}\resources\app\node_modules.asar.unpacked\node-pty\build\Release\conpty_console_list.node
Restore a quarantined file or reinstall VS Code before weakening antivirus coverage. If an exclusion is required, exclude only the specific blocked file and report the false positive to the antivirus vendor.
Disable legacy console mode
Open Command Prompt from the Start menu, right-click the title bar, and go to Properties > Options. Uncheck Use legacy console. The legacy console is incompatible with VS Code's terminal backend.
Check WSL default distribution
If your default terminal profile uses WSL and the terminal exits with code 1, WSL may have no valid default distribution set.
Open PowerShell and run wslconfig.exe /l to list available distributions. Make sure one is marked as (default). If not, set one with wslconfig.exe /setdefault "DistributionName". Note that docker-desktop-data is not a valid distribution for this purpose.
Fix rendering and display problems
If the terminal opens but shows a blank screen, garbled text, or missing characters, the issue is likely with the terminal renderer.
Switch the renderer
VS Code supports WebGL, Canvas 2D, and DOM-based terminal renderers. GPU-related problems are common after resuming from sleep or on older graphics drivers. In the Settings editor, search for terminal integrated gpu acceleration and set it to off.
This switches to the DOM renderer, which is slower but more compatible. If the terminal works after this change, your GPU driver or WebGL support is the root cause.
Test with a fresh GPU cache
If the problem started after a VS Code update, close every VS Code window and rename the GPU cache folder to GPUCache.backup. VS Code creates a fresh cache on the next launch:
- Windows:
%APPDATA%\Code\GPUCache - macOS:
~/Library/Application Support/Code/GPUCache - Linux:
~/.config/Code/GPUCache
If the terminal still fails, close VS Code, remove the newly created cache, and rename the backup to GPUCache.
Force a redraw
Zoom in and out with Ctrl++ and Ctrl+- (macOS: Cmd++ and Cmd+-). This forces the terminal renderer to redraw everything and can clear up transient display glitches.
Enable trace logging for deeper diagnosis
If none of the above fixes work, enable trace logging to capture what happens when the terminal starts.
Close all VS Code windows, then launch VS Code from a terminal with:
code --log traceReproduce the terminal issue, then open the Command Palette and run Developer: Open Log File. Select Terminal for frontend logs (input and rendering) or Pty Host for backend logs (communication with the shell process).
The logs show the exact command and arguments used to create the terminal process. Look for bad shell paths, incorrect arguments, or environment variable problems. These logs are also what you need if you report the issue on the VS Code GitHub repository.
Check for conflicting extensions
Some extensions launch terminals programmatically, such as debuggers, language extensions with integrated consoles, or task runners. If the terminal only fails when triggered by a specific extension, the extension is likely the cause.
To test this, open the Command Palette and run Help: Start Extension Bisect. This tool disables half your extensions at a time and asks if the problem persists, quickly narrowing down the culprit. Once identified, report the issue to the extension author through the Marketplace page.
Rune AI
Key Insights
- Check your terminal.integrated.defaultProfile and terminal.integrated.profiles settings first.
- Test your shell outside VS Code to rule out a general shell problem.
- On Windows, disable compatibility mode on the VS Code executable and check anti-virus exclusions.
- Set terminal.integrated.gpuAcceleration to off if the terminal shows a blank screen.
- Enable trace logging with code --log trace for deeper diagnosis.
Frequently Asked Questions
Why does my terminal show an exit code instead of opening?
I see a blank terminal but no prompt. What should I do?
Why does my terminal work outside VS Code but not inside it?
Conclusion
Check modified terminal settings, test the shell outside VS Code, and update VS Code and the shell. Use Windows compatibility and antivirus checks only for the matching documented symptoms, and use trace logs before making broader changes.
More in this topic
How to Use VS Code with WSL 2 on Windows
Run VS Code connected to Windows Subsystem for Linux so you can develop in a full Linux environment with native tools, terminals, and debugging, all from Windows.
20 Best VS Code Extensions for Web Developers in 2026
Twenty carefully chosen VS Code extensions every web developer should know. Covers formatting, linting, frameworks, debugging, Git, and developer experience.
How to Install, Disable, Update, and Uninstall VS Code Extensions
Learn how to install, disable, update, and uninstall VS Code extensions from the Marketplace and the command line. Step-by-step instructions for every action.