Conversation
Replace Windows PowerShell (powershell) with PowerShell 7+ (pwsh) in worktree creation flow to eliminate UAC elevation prompts when creating symlinks. - GitWorktree.fs: invoke fork.ps1 via pwsh with -NoProfile - fork.ps1: elevation fallback uses pwsh with -NoProfile PowerShell 7+ can create symlinks without admin privileges when Developer Mode is enabled, unlike Windows PowerShell 5.1. The rest of the codebase already uses pwsh consistently.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Creating worktrees via the dashboard or
tm newtriggers UAC elevation prompts on Windows. The server invokesfork.ps1usingpowershell(Windows PowerShell 5.1), which cannot create symlinks without admin privileges — even when Developer Mode is enabled.The elevation fallback inside
fork.ps1itself also callsStart-Process powershell -Verb RunAs, doubling down on the wrong shell.Meanwhile the rest of the codebase (
tm.cmd,treemon.ps1,SessionManager.fs) already usespwshconsistently.Fix
Replace
powershellwithpwsh(PowerShell 7+) in the two affected locations:GitWorktree.fs— server-side process launch now usespwsh -NoProfile -Fileinstead ofpowershell -Filefork.ps1— both symlink elevation fallbacks now useStart-Process pwshwith-NoProfileinstead ofStart-Process powershellPowerShell 7+ can create symlinks without elevation when Developer Mode is enabled, so the elevation fallback path should no longer be reached on typical dev machines.
Tests
Build passes with zero warnings/errors: