How to Enable MRU Tab Switching in Windows Terminal

Abstract: Enable MRU tab switching in Windows Terminal by adding "tabSwitchingMode": "mostRecentlyUsed" to settings.json for efficient stack-like navigation.

Created: 2026-09-05 by
To enable Most Recently Used (MRU) tab switching in Windows Terminal, you must modify the settings.json file. Locate your user settings file via the dropdown menu or by navigating to %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json. Add the key "tabSwitchingMode" with the value "mostRecentlyUsed" inside the root object. This change immediately applies to all new tabs and reorders existing navigation based on recent activity.

Understanding Tab Switching Modes

Windows Terminal offers two distinct modes for cycling through open tabs using keyboard shortcuts like Ctrl+Tab or Ctrl+Shift+Tab. By default, the terminal uses a sequential order, meaning that pressing the switch shortcut moves focus to the next tab in the list as it appears in the tab bar. This linear progression can become inefficient when you have many tabs open, particularly if you frequently jump between specific sessions rather than visiting them in order. The alternative mode is Most Recently Used (MRU). When this feature is active, the terminal tracks the history of your interactions. Pressing the switch shortcut will move focus to the tab you were just using, then to the one before that, creating a stack-like navigation experience similar to web browsers. This mode significantly reduces the number of keystrokes required to return to a previous session, especially during complex debugging or multi-window workflows. If you are looking to customize other aspects of your terminal environment, such as adjusting the font size for better readability, you might also want to explore Change Font in Windows Terminal Session using PowerShell. Customizing visual elements often goes hand-in-hand with optimizing navigation efficiency.

Locating the Settings File

Before editing the configuration, you need to access the correct JSON file where Windows Terminal stores its preferences. There are two primary methods to locate this file, depending on whether you prefer a graphical interface or direct file system navigation. The easiest method involves using the Windows Terminal interface itself. Open Windows Terminal and click the dropdown arrow next to the new tab button. Select "Settings" from the menu. This action opens the built-in settings editor. In the top right corner of the editor window, there is a small icon resembling an open file or a folder. Clicking this icon will open the actual settings.json file in your default text editor, typically Notepad or Visual Studio Code. Alternatively, you can navigate to the file directly using File Explorer. The settings file is stored in the local application data folder of your user profile. You can quickly reach this location by pressing Win + R to open the Run dialog, pasting the following path, and hitting Enter: %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json This path leads directly to the directory containing your current configuration. Opening this file allows you to edit the raw JSON structure manually. Ensure that you do not close Windows Terminal while editing, as some changes may require a restart to take effect, although most settings apply dynamically.

Editing the Configuration

Once you have the settings.json file open in your text editor, you need to insert the specific property that controls tab switching behavior. The file is structured as a JSON object, so proper syntax is critical. An invalid character can cause Windows Terminal to fail to load, reverting to default settings or displaying an error message. Scroll to the very end of the file, just before the closing curly brace }. If the file ends with whitespace or newlines, ensure you are placing the new code correctly. You need to add a comma after the last existing property if there is one, ensuring valid JSON formatting. Then, add the following line:
"tabSwitchingMode": "mostRecentlyUsed"
It is important to note that this key-value pair must be placed within the root object of the JSON file. Do not place it inside the profiles section or any other nested object. The root object contains global settings that apply to the entire terminal instance, whereas profile-specific settings only affect individual shells. After adding the line, save the file. If you are using Visual Studio Code, press Ctrl+S. If you are using Notepad, press Ctrl+S and confirm any prompts. Close the text editor.

Verifying the Change

To verify that MRU switching is active, reopen Windows Terminal. Open several different tabs, such as PowerShell, Command Prompt, and WSL Ubuntu. Switch between them using Ctrl+Tab. Observe the order in which the tabs receive focus. Instead of moving sequentially through the list, the focus should jump to the most recently active tab. If the behavior does not change, check for syntax errors in the JSON file. Common mistakes include missing commas, extra commas at the end of arrays, or incorrect quotation marks. You can validate your JSON by copying the content into an online JSON validator or by checking the Windows Terminal logs for parsing errors. For users who manage multiple environments, understanding how different shells interact with the terminal is crucial. For instance, knowing What's the difference between git-bash.exe and bash.exe and how they interact with Windows Terminal? can help you optimize your workflow further, ensuring that each shell type behaves consistently with your preferred navigation style.

Frequently Asked Questions

Does MRU switching work with mouse clicks?

No, the MRU setting specifically affects keyboard navigation using Ctrl+Tab and Ctrl+Shift+Tab. Mouse clicks on tabs always select the specific tab clicked, regardless of the switching mode. To benefit from MRU, you must use the keyboard shortcuts.

Can I reset tab switching to sequential order?

Yes, to revert to the default sequential behavior, simply delete the "tabSwitchingMode" key from your settings.json file or change its value to "sequential". After saving the file, Windows Terminal will resume using the standard left-to-right tab order.

Will this setting affect my profiles individually?

No, tab switching mode is a global setting defined in the root object of the settings.json file. It applies uniformly across all profiles and windows within the same Windows Terminal instance. You cannot set different switching modes for different shells.

Why did my settings.json become invalid after editing?

This usually happens due to missing commas between properties or trailing commas in JSON arrays. Always ensure that every key-value pair except the last one in an object is followed by a comma. Use a JSON linter or validator to catch these syntax errors before restarting the terminal.

Is there a limit to how far back MRU remembers tabs?

Windows Terminal maintains a robust history of your recent activities. While there is no explicit documented limit for casual users, extremely large numbers of open tabs may eventually push older entries out of the immediate MRU stack. However, for typical usage involving dozens of tabs, the memory is sufficient for efficient navigation.

Latest News

How to Display Output of xterm Command in Terminal Screen using Cron

Resolve the inability to display xterm output in a terminal screen from cron by redirecting logs or using wall instead of insecure X11 workarounds.

Read More
Expose Local Server on VPS Preserving Real Client IPs (OS Level)

Resolve VPS logging showing only gateway IPs by configuring reverse proxies to forward real client addresses via X-Forwarded-For headers.

Read More
How to Clear Recent Files History in Linux without Deleting Actual Files?

Clear recent files history in Linux by deleting ~/.local/share/recently-used.xbel without removing the actual files.

Read More
Best HDD Copy Strategy: Manually Syncing and Rewriting Scratch

Resolve data drift between two 4TB hard drives by using rsync with the --delete flag to manually sync and rewrite scratch data for an exact mirror.

Read More
Understanding Bash Prompt Abbreviations: An Overview

Resolve repetitive typing errors by creating and persisting Bash aliases in the .bashrc file for improved command-line efficiency.

Read More
Free Tools and Methods to Log Real-Time Performance Details in Task Manager

Log real-time CPU and memory metrics to CSV files using Windows Performance Monitor Data Collector Sets to troubleshoot system slowness.

Read More
Contact Qatar Airways Customer Service: Phone Number, Help Center, and More

Resolve urgent Qatar Airways reservation issues like flight changes and baggage claims using the US phone number +1801-855-5905 or online self-service tools.

Read More
Windows 11: Alt Codes Displaying Wrong Characters - Solutions

Resolve Windows 11 Alt codes showing wrong characters by verifying the US keyboard layout and enabling Num Lock.

Read More
Run Programs with Elevated Privileges: A Comprehensive Guide

Eliminates the need to type sudo for frequent administrative tasks by configuring .bashrc aliases or functions.

Read More
Dynamically Changing Dates in Excel Formulas Using Cells

Eliminate manual date updates in Excel by using cell references to create dynamic formulas that automatically adjust calculations when input dates change.

Read More
Granting Edit Access to a Specific Excel Sheet in an Office 365 User Email ID-Based Login

Excel Online lacks native sheet-level permissions, so users must split workbooks or use worksheet protection to isolate edit access for specific tabs.

Read More
Creating Network Load on Local Wi-Fi from One PC

Generate sustained Wi-Fi bandwidth load from a single PC using a VM SFTP server to test router stability and throughput.

Read More
Changing the Default Editor for Batch Files in Windows 11's File Explorer

Resolve the issue of batch files opening in Notepad by changing the default editor to a preferred application like VS Code.

Read More
Gain WiFi Connection Minutes Before Losing it by Changing MAC Address

Bypass MAC address filtering to restore WiFi connectivity temporarily when a device is blocked by network administrators.

Read More
Photos Folders Turned Black: Troubleshooting Picture Applications on Windows

Resolve black screens in Windows Photos by resetting the app, updating graphics drivers, and repairing system files.

Read More
Troubleshooting High CPU Temperature Values: A Step-by-Step Guide

Resolve high CPU temperatures and thermal throttling by monitoring with Speedfan, cleaning dust from cooling components, and replacing degraded thermal paste.

Read More
Make cURL establish TLS connection with CA unknown

Resolve cURL TLS connection failures with unknown or self-signed certificates by using the --insecure flag to bypass CA validation.

Read More
Troubleshooting Incorrect Network Metrics Values in Grafana, Prometheus, InfluxDB, and Telegraf

Fix incorrect network metrics in Grafana, Prometheus, InfluxDB, and Telegraf by verifying interface selection, resolving unit mismatches, and handling counter resets.

Read More
Start Another Terminal Window (cmd.exe) Windows Repair/Troubleshoot

Provides step-by-step instructions to access the Windows Command Prompt via bootable media for advanced system repair and troubleshooting.

Read More
Thinkpad P1 Gen 6: Sudden Thunderbolt 3 Dock USB-C Charging Stopped Working

Resolve sudden Thunderbolt 3 dock USB-C charging and internet failure on ThinkPad P1 Gen 6 by updating firmware, resetting the dock, and adjusting power settings.

Read More
ASUS Windows 11 Laptop: Internet Connection Issue with Hotspot

Resolve ASUS Windows 11 laptop spinning wheel issue when connecting to mobile hotspot by resetting network stack, disabling IPv6, and adjusting power settings.

Read More
Developing iOS Project with Firebase: Logging in and Sending Push Notifications

Integrates Firebase to enable secure user authentication and push notifications in iOS applications.

Read More
Troubleshooting Bash Script with Suspected Issues of Spaces, Dashes, Filenames and Quoting

Resolve Bash script failures caused by word splitting, globbing, and special characters in filenames by applying proper quoting techniques.

Read More
Populating OneDrive Folder for Local Backup without Affecting Remote Files

Prevent OneDrive from deleting remote files during Windows reinstallation by unlinking the account or using symbolic links to isolate local data.

Read More
Force First Frame as Keyframe Without Re-encoding: A Quick Solution

Resolve inaccurate seeking and playback glitches by re-encoding video to ensure the first frame is a valid keyframe.

Read More
Find Information in Database Using WSL (Ubuntu) on Windows-10

Resolve database connection issues from WSL Ubuntu on Windows 10 by configuring client tools and network access to query remote or local servers.

Read More
Configuring a New Router with Different Networks: One Family, One Guest

Resolve IP conflicts and isolate guest traffic by configuring a second router with a distinct subnet via its WAN port.

Read More
Quickly Open Multiple Stock Websites with a Single Command

Solve the problem of manually opening multiple stock research websites by creating a single command to launch them simultaneously on Windows, macOS, or Linux.

Read More
Improved Adobe Acrobat Search Experience: Access Advanced Search with Ease

Access advanced search filters like case sensitivity and regex in Adobe Acrobat by clicking More Options in the Find bar.

Read More
Port Forwarding VM via OpenVPN: A Comprehensive Guide

Configure OpenVPN server and iptables to forward specific ports from VPN clients to a virtual machine's internal IP address.

Read More
Understanding Partitions in the 1980s: A Look Back at MS-DOS and Master Boot Record

Explains how the Master Boot Record and partition table enabled MS-DOS to manage multiple disk volumes on a single physical drive.

Read More
Windows 10 Enterprise: Keyboard Not Detected in Managed Organization with Admin Privileges

Resolve Windows 10 Enterprise keyboard detection failures caused by Group Policy restrictions, driver corruption, or USB enumeration errors.

Read More
Can't Find x86_64 Versions of Applications on MacOS arm64 (M1)

Resolve missing x86_64 app issues on M1 Macs by installing Rosetta 2 and reinstalling apps as universal binaries.

Read More
How to Hide Installation Source for an Android App

Manage Android app installation source visibility by using USB transfers or file managers to reduce browser traces and isolate data via work profiles.

Read More
Connecting Momentus 4200.2 ST9808210A Hard Drive via USB Cable

Resolve inability to access Seagate Momentus 4200.2 ST9808210A hard drive by connecting it via USB using a compatible SATA-to-USB adapter and configuring the disk in Windows.

Read More