From 08ce81609afce4a6ff2e8aa22f172067f85adcd0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 16 Sep 2025 10:52:13 +0000 Subject: [PATCH] Add OSC 9;9 support for PowerShell prompt to enable Windows Terminal directory tracking Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- vendor/profile.ps1 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/vendor/profile.ps1 b/vendor/profile.ps1 index 1183377..0a37534 100644 --- a/vendor/profile.ps1 +++ b/vendor/profile.ps1 @@ -196,6 +196,15 @@ if ( $(Get-Command prompt).Definition -match 'PS \$\(\$executionContext.SessionS [ScriptBlock]$Prompt = { $lastSUCCESS = $? $realLastExitCode = $LastExitCode + + # Emit OSC 9;9 sequence for Windows Terminal directory tracking + # This enables "Duplicate Tab" and "Split Pane" to preserve the working directory + # Only active in Windows Terminal ($env:WT_SESSION) or ConEmu ($env:ConEmuPID) + $loc = $executionContext.SessionState.Path.CurrentLocation + if (($env:WT_SESSION -or $env:ConEmuPID) -and $loc.Provider.Name -eq "FileSystem") { + Microsoft.PowerShell.Utility\Write-Host -NoNewline "$([char]27)]9;9;`"$($loc.ProviderPath)`"$([char]27)\" + } + $host.UI.RawUI.WindowTitle = Microsoft.PowerShell.Management\Split-Path $pwd.ProviderPath -Leaf Microsoft.PowerShell.Utility\Write-Host -NoNewline "$([char]0x200B)`r$([char]0x1B)[K" if ($lastSUCCESS -or ($LastExitCode -ne 0)) {