How to Run Command Using Command Line Arguments in Windows Terminal

Abstract: Run commands with arguments in new Windows Terminal tabs using the wt executable and shell profile syntax.

Created: 2026-08-20 by

To run a command with arguments in Windows Terminal, use the wt executable followed by the desired profile or shell name. You can append commands directly after the profile identifier to execute them immediately upon tab creation. This method leverages Windows Terminal’s built-in command-line interface to spawn new tabs with specific contexts and initial commands.

Understanding the wt Command Structure

Windows Terminal provides a powerful command-line tool named wt. This utility allows you to control the terminal application from any other program, script, or even another command prompt window. The primary goal is often to open a new tab or pane that starts with a specific command already running, rather than just an empty shell waiting for input. The basic structure of the command is straightforward. You invoke wt, specify the target environment (such as cmd, powershell, or wsl), and then provide the command string you wish to execute. It is crucial to understand that wt does not simply pass arguments to the shell; it constructs a new session based on your configuration settings. If you do not specify a profile, it defaults to your default profile defined in the settings.json file. For users coming from Linux backgrounds who are used to chaining commands directly in their shell initialization, this behavior might seem different. You may find our guide on Jumping Beginning Command in Windows Terminal helpful if you are trying to replicate similar startup behaviors. However, for immediate execution via command line arguments, the syntax is distinct.

Executing Commands in New Tabs

To execute a command immediately when a new tab opens, you need to pass the command as an argument to the wt launcher. The most common scenario involves opening a PowerShell or Command Prompt window that runs a specific script or navigates to a directory. Here is the general syntax:
wt [profile] "command here"
For example, if you want to open a new PowerShell tab and immediately run Get-Process, you would type:
wt pwsh "Get-Process"
This command tells Windows Terminal to create a new tab using the PowerShell profile (pwsh) and execute the Get-Process cmdlet. The quotes are essential because they ensure the entire command string is passed correctly to the shell, especially if the command contains spaces or special characters. If you prefer using the traditional Command Prompt, replace pwsh with cmd:
wt cmd "dir /b"
This will open a CMD tab and list files in the current directory without subdirectories. Note that the command executes within the context of the new tab. Once the command finishes, the tab typically remains open unless the command explicitly exits the shell.

Running Visual Studio Code from Terminal

A very common request is to open Visual Studio Code in a new terminal tab. You can achieve this by invoking the code command. To open the current directory in VS Code and launch a new integrated terminal within it, you can use:
wt code .
However, if you specifically want to run a command *inside* a new WT tab that happens to be VS Code's terminal, you should target the VS Code profile if configured, or simply use the standard code launcher which integrates with WT. For pure command execution, sticking to wt with the appropriate shell profile is more reliable.

Handling Arguments and Spaces

When passing complex commands, proper quoting is critical. Windows shells handle quotes differently depending on whether you are using CMD or PowerShell. In PowerShell, double quotes are generally preferred for string interpolation, while single quotes treat the content as literal. If your command requires nested quotes, such as passing a JSON string or a SQL query, you must escape them appropriately. For instance:
wt pwsh 'Write-Output "Hello World"'
In this example, the outer single quotes protect the entire argument from the wt parser, while the inner double quotes are preserved for the PowerShell interpreter. Always test your command in the target shell first to ensure the quoting works as expected before wrapping it in wt.

Troubleshooting Common Issues

If your command does not run as expected, consider the following checks:
  • Profile Existence: Ensure the profile name you specified (e.g., pwsh, cmd) exists in your settings.json. If the profile name is incorrect, wt will fail or default to the main profile.
  • Command Syntax: Verify that the command itself is valid in the target shell. A command that works in CMD may fail in PowerShell due to different syntax rules.
  • Permissions: Some commands require administrative privileges. If you need to run an elevated command, you may need to configure your terminal profiles to always run as administrator, or launch wt from an already elevated prompt.
For more general troubleshooting regarding command prompts and directory issues, refer to our article on Troubleshooting 'dir' Command Prompt Issues.

Advanced Configuration

You can also define custom actions in settings.json that include pre-launch commands. While this article focuses on command-line arguments, knowing that these configurations exist helps in understanding how wt manages sessions. When using command-line arguments, you override these defaults temporarily. It is important to note that wt does not support arbitrary flag chaining like some older tools. Stick to the documented syntax: wt [profile] [command]. Adding unsupported flags may result in errors or unexpected behavior. If you are exploring differences between various shell environments, such as Git Bash versus standard Bash, you might find insights in our comparison of git-bash.exe and bash.exe interaction with Windows Terminal.

Frequently Asked Questions

Can I open multiple tabs with different commands at once?

Yes, you can chain multiple tab specifications. Use the --new-tab flag followed by the profile and command for each subsequent tab. For example, wt pwsh "ls" --new-tab cmd "dir" will open two separate tabs with different shells and commands.

Why does my command exit immediately after running?

This often happens if the command completes its task and the shell is configured to close on exit. Ensure your command leaves the shell interactive, or add a pause command like pause in CMD or Read-Host in PowerShell to keep the window open.

How do I pass environment variables to the new tab?

Environment variables are inherited from the parent process. If you set a variable in your current session, it is available to the new tab. You can verify this by echoing the variable inside the new command, e.g., wt pwsh "$env:PATH".

Is there a way to wait for the command to finish before closing?

Windows Terminal does not have a universal --wait flag for all scenarios. Instead, design your command to block until completion. For scripts, ensure they do not exit prematurely. If you need to wait for user input, use shell-specific read commands.

What is the difference between using wt and just launching the app?

Launching the app opens the default view. Using wt allows precise control over which profile opens, what command runs initially, and whether it opens in a new tab or pane. It is essential for automation and integrating terminal workflows into other applications.

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