iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
The most effective way to customize Windows Terminal is to combine the Settings interface for quick changes with settings.json for repeatable, precise configuration. Start by identifying whether your installation is the packaged stable release, packaged preview release, or an unpackaged build, because each uses a different settings-file location. Then set application-wide behavior, shared profile defaults, and profile-specific overrides in that order.
This guide shows how to create recognizable shell profiles, improve readability, split and navigate panes, assign useful shortcuts, and prepare a startup layout without making changes that Windows Terminal will ignore.
Choose the right configuration route first
Windows Terminal exposes the same underlying configuration through two routes. The choice depends on whether you are making a one-off adjustment or maintaining a deliberate setup across several profiles or machines.
| Route | Best for | Trade-off |
|---|---|---|
| Settings UI | Quick changes, visual previews, and users who prefer controls instead of code | Less convenient when you need to copy, review, or maintain many repeated values |
settings.json |
Precise edits, reusable defaults, custom themes, and a configuration you can back up | JSON syntax and Windows paths require care, and the file location depends on how Terminal was installed |
You can use both. Make a visual adjustment in Settings, inspect the resulting JSON when you want to understand the stored value, and reserve direct editing for settings that are easier to express in code.
#1 Best Overall
Open the correct settings file without overwriting the wrong one
Identify your installation type
Microsoft documents different settings-file locations for packaged stable, packaged preview, and unpackaged installations. Store installation, a preview package, a GitHub build, Windows Package Manager, Chocolatey, and Scoop can place Terminal in different installation routes. Do not copy a path from another computer unless both installations use the same route.
If you are unsure, use the installation method you originally chose as your first clue and then use the matching location in Microsoft’s current Windows Terminal installation and settings guidance. The GitHub build does not automatically update, so its files and feature set can remain different from an automatically updated package.
Use the Settings interface for ordinary changes
- Open Windows Terminal.
- Open the tab menu and choose Settings. You can also use the Settings command from the command palette.
- Choose an application section for window-wide behavior, a profile section for one shell, or the Defaults profile section for values shared by every profile.
- Apply the change, open a new tab or pane, and check the result before changing another setting.
Edit settings.json for deliberate configuration
In Settings, use the control that opens the JSON file when you need direct access. Make a backup before a large edit. Keep valid JSON: property names and string values require double quotation marks, entries are separated with commas, and a trailing comma can make the file fail to load depending on the parser and version.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallHolding Alt while opening Settings exposes the generated defaults.json. Microsoft warns that this file is generated and that edits to it are ignored. Use it as a reference for available properties; put your changes in your own settings.json instead.
Understand the three levels of Windows Terminal settings
Most customization problems come from putting a correct value at the wrong level. Think of the configuration as a hierarchy:
- Application settings affect the Terminal window as a whole, including its overall theme and tab behavior.
profiles.defaultssupplies shared appearance or behavior values to every profile that does not override them.- An individual profile overrides the shared value for one shell, such as a particular PowerShell, Command Prompt, Azure Cloud Shell, or WSL profile.
A shared font size belongs in profiles.defaults. A different starting folder belongs on the profile that needs it. An application theme should not be placed inside a profile because it controls the entire window.
A small hierarchy example
{"profiles":{"defaults":{"font":{"face":"Cascadia Mono","size":11},"colorScheme":"Campbell"},"list":[{"name":"Project PowerShell","source":"Windows.Terminal.PowershellCore","startingDirectory":"D:\Projects","icon":"C:\Icons\project.ico"},{"name":"Operations Command Prompt","commandline":"%SystemRoot%\System32\cmd.exe","startingDirectory":"C:\Ops","colorScheme":"Tango Adapted"}]}}
In this example, every profile inherits the font and color scheme. The two named profiles then override identity and location, and the Command Prompt profile also uses its own scheme. Use escaped backslashes in JSON Windows paths.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #2
Build profiles around the shells and folders you actually use
Microsoft Learn notes that a new installation opens a Windows PowerShell prompt and that Windows Terminal includes Windows PowerShell, Command Prompt, and Azure Cloud Shell profiles by default. Installed WSL distributions automatically receive profiles as well. Keep profiles you use regularly and remove or hide entries that make the tab menu harder to scan.
Set a clear profile identity
Profile-level general settings include the display name, command line, starting directory, icon, tab title, and ordering. A useful name says what the shell is for, not merely which executable it launches: “Project PowerShell” and “Linux tools” are easier to recognize than several entries all named “PowerShell.”
- Name: the label shown in the profile list and new-tab menu.
- Command line: the shell or program launched by the profile.
- Starting directory: the folder opened when a new tab starts.
- Icon: a visual marker for projects, environments, or remote contexts.
- Tab title: the title shown after the shell starts; configure it when the executable’s default title is too generic.
- Order: place the profiles you use most near the top of the menu.
Use one profile per recurring context
Separate profiles are more reliable than repeatedly typing a directory change or environment activation command. Create distinct entries for a project folder, an administrative task area, a WSL distribution, or a remote-management shell. Give each a different color scheme or icon so a destructive command is less likely to be entered in the wrong context.
When a WSL distribution is installed after Terminal, its profile may appear automatically. If it does not, confirm that the distribution is installed and that Terminal has refreshed its profile list before manually creating a command line.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Make the window readable at a glance
Choose an application theme
The application-level theme setting accepts system, dark, light, or a custom theme. system is the documented default and follows Windows’ light or dark preference. Choose dark or light when Terminal must remain consistent with a specific work environment regardless of the rest of Windows.
Set this in the application appearance section rather than in a profile. A theme change affects the surrounding window, tab row, and controls; it does not by itself make every shell’s text and background distinct.
Use profile color schemes for recognition
A color scheme controls terminal colors for a profile. Use one restrained scheme for routine work and clearly different schemes for production, administrative, or remote sessions. Distinction is useful only when contrast remains comfortable, so avoid choosing colors solely for decoration.
Rank #3
Place a common scheme in profiles.defaults and assign exceptions on individual profiles. This keeps a later font or contrast change centralized while preserving the visual warning for sensitive contexts.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Adjust font, cursor, background, and opacity
Profile appearance settings cover the font, cursor, background image, and related visual options. A slightly larger font can improve readability on a high-resolution display; a simple cursor shape is easier to follow during long command lines. Background images and transparency should remain subordinate to text contrast. If a background makes command output harder to read, remove it or lower its opacity before changing the color scheme.
- Set a readable font face and size in the shared defaults when all shells should match.
- Override the font on a profile used for dense logs or a different display.
- Choose a cursor style that remains visible against both dark and light backgrounds.
- Use background images sparingly; a plain background is usually the safest choice for logs and error output.
- Reduce opacity or disable acrylic effects when transparency lowers contrast.
Know the limit of custom window themes
Custom window and tab themes are configured directly in settings.json. Microsoft’s theme documentation labels this capability Preview, and the settings cover window, tab-row, tab, and color components. Treat preview features as version-dependent: a property or visual result can change in a later Terminal release, so check the current documentation and keep a backup of a working file.
Customize Windows Terminal profiles in the Settings UI
For a quick profile change, open Settings, select the profile in the left navigation, and edit its General and Appearance sections. Use the Defaults profile when the same value should apply everywhere. Save, open a new tab for that profile, and verify both the folder and the visual identity.
The UI is the safer route when you are unsure of a property name. It writes the correct JSON structure for your installed version and provides the available choices. Switch to direct JSON editing when you need a profile-specific icon, a custom theme definition, or a group of changes that is easier to review together.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsAssign actions and shortcuts for repeated work
Windows Terminal includes a command palette and configurable actions. The default command-palette shortcut is Ctrl+Shift+P; it is a useful fallback when you forget a key binding or when a shortcut conflicts with another application.
Map only actions you will remember
Open Settings and choose the Actions or key-bindings area to inspect current assignments. Add a custom key only after checking whether the combination is already used by Terminal, Windows, your shell, or an editor running inside the shell. Prefer a small set of memorable bindings over a large personal scheme that you cannot recall.
Rank #4
Bindings can be represented in JSON with an action and a key combination. The exact action names and available arguments are version-dependent, so use the Actions list in your installed release as the authority. Keep a copy of the original binding before replacing it.
Plan shortcuts by task
- Navigation: assign easy combinations for moving focus between panes and tabs.
- Creation: reserve a consistent pattern for a new tab, a split pane, or a duplicate pane.
- Recovery: retain access to the command palette so you can execute an action when a custom shortcut is forgotten.
- Safety: avoid reusing familiar editor shortcuts if you frequently run a text editor inside Terminal.
Do not publish or maintain a comprehensive shortcut chart from memory. Microsoft’s live Actions documentation and the Actions page in your installed version are the reliable references because defaults can change.
Free tools Windows power users keep installed
One-click scans. No signup required.
Split panes and move between them efficiently
Panes let you keep related commands visible in one tab: for example, a build process on one side and logs on the other. Microsoft documents keyboard navigation, pane focus movement, and configurable moveFocus actions.
Create a vertical or horizontal split
The documented example defaults use Alt+Shift++ for a vertical split and Alt+Shift+- for a horizontal split. Keyboard layouts can render the plus and minus keys differently, so confirm the actual binding in the Actions list. You can also use the tab menu or command palette to create a split when the shortcut is unavailable.
A vertical split places panes side by side; a horizontal split stacks them. Choose the orientation based on output shape: side-by-side panes suit a shell and a short status view, while stacked panes give long logs more horizontal width.
Move focus without reaching for the mouse
Configure directional moveFocus actions for left, right, up, and down movement. Keep the direction consistent with the pane’s position so the shortcut matches what your hands expect. Test focus movement after adding a binding: a key can appear correct in JSON yet fail if it conflicts with another action or uses an unsupported command shape.
Choose a pane layout that matches the task
Use one pane for a simple interactive shell, two panes for a command-and-output workflow, and more only when each pane has a distinct purpose. Too many panes reduce the space available for readable output. Close or rearrange panes when the task changes instead of treating the original layout as permanent.
Best Value
Start with the tabs and panes you need
Windows Terminal supports startup tabs and panes, launch modes, and startup layout configuration. Use the Startup section in Settings for the controls exposed by your version, and use the JSON configuration when you need a repeatable arrangement that the UI does not expose.
A practical startup design is small: one default profile for the main task, one additional tab for monitoring, and a split only when the second process is always relevant. If a startup command requires a project directory, set that directory on the profile rather than relying on a later cd command.
Review startup behavior after changing the default profile. A new default can alter which shell opens when you press the new-tab button, while existing profiles and their individual settings remain available.
Recommended Free Tools
Use a verification loop after every major change
- Open each frequently used profile from the new-tab menu.
- Confirm that the shell is the intended executable and that the starting directory is correct.
- Check text contrast, font size, cursor visibility, background opacity, and tab identity.
- Open a split pane and exercise the focus-movement bindings.
- Use the command palette to find an action whose shortcut you changed.
- Close and reopen Terminal to confirm that the configuration persists.
This short check catches the most expensive mistakes early: a profile that opens in the wrong project, a shortcut that silently replaced a needed command, or a visual setting that looked acceptable in one shell but not another.
Troubleshoot common customization failures
My edit has no effect
Check that you edited settings.json, not the generated defaults.json. Then confirm that the property is at the correct level: application settings belong at the application level, shared profile values under profiles.defaults, and exceptions inside the matching profile object.
Terminal reports invalid JSON
Look for a missing comma, an extra comma, unescaped backslashes in a Windows path, or quotation marks that do not pair. Restore your backup, reapply one change at a time, and use the Settings UI to generate unfamiliar structures.
A profile opens in the wrong folder
Inspect the profile’s startingDirectory value and verify that the folder exists for that account and shell. Remember that a profile-level value overrides the shared default. If the shell itself changes directory during startup, its command or shell initialization script may be responsible rather than Terminal.
A shortcut does nothing
Open the Actions list and check the exact binding, including modifier keys and plus/minus notation. Remove conflicts, test the action from the command palette, and then assign a simpler combination. Keyboard layouts and application-level shortcuts can make a binding behave differently from what its text suggests.
A WSL profile is missing
Verify that the distribution is installed and starts outside Terminal. Restart Terminal so it can refresh automatically generated profiles. If the distribution still does not appear, use the profile’s documented command-line format and keep the manual entry separate from automatically generated profiles.
A practical customization order
For most workflows, this order minimizes rework:
- Identify the installation route and back up
settings.json. - Set the application theme and tab behavior.
- Choose shared font, cursor, and color defaults.
- Create or rename profiles for recurring shells and folders.
- Override colors, icons, starting directories, and titles where context matters.
- Configure pane splits, focus movement, and a small set of action shortcuts.
- Add a modest startup layout if the same tabs and panes are needed every session.
- Run the verification loop and remove anything that slows or confuses your work.
The result should be recognizable at a glance, predictable when a new tab opens, and easy to repair because shared values are centralized while intentional exceptions remain visible on their profiles.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

