Windows¶
Install xcsh on Windows using PowerShell.
Quick Install¶
Download and extract the latest release:
# Download latest release
$version = "2.0.9-2601051439"
$url = "https://github.com/robinmordasiewicz/f5xc-xcsh/releases/download/v$version/xcsh-win-x64.exe"
# Create installation directory
$installDir = "$env:LOCALAPPDATA\Programs\xcsh"
New-Item -ItemType Directory -Force -Path $installDir | Out-Null
# Download executable
Invoke-WebRequest -Uri $url -OutFile "$installDir\xcsh.exe"
# Add to PATH for current session
$env:PATH = "$installDir;$env:PATH"
# Verify installation
xcsh --version
# Download latest release
$version = "2.0.9-2601051439"
$url = "https://github.com/robinmordasiewicz/f5xc-xcsh/releases/download/v$version/xcsh-win-arm64.exe"
# Create installation directory
$installDir = "$env:LOCALAPPDATA\Programs\xcsh"
New-Item -ItemType Directory -Force -Path $installDir | Out-Null
# Download executable
Invoke-WebRequest -Uri $url -OutFile "$installDir\xcsh.exe"
# Add to PATH for current session
$env:PATH = "$installDir;$env:PATH"
# Verify installation
xcsh --version
Example output:
Downloading xcsh_2.0.9-2601051439_windows_amd64.zip...
Download complete.
Extracting to C:\Users\runneradmin\AppData\Local\Programs\xcsh...
Extraction complete.
Verifying installation:
xcsh version v2.0.9-2601051439
Output captured on 2026-01-05
Permanent PATH Configuration¶
To make xcsh available in all PowerShell sessions, add it to your user PATH:
# Add to user PATH permanently
$installDir = "$env:LOCALAPPDATA\Programs\xcsh"
$currentPath = [Environment]::GetEnvironmentVariable("PATH", "User")
if ($currentPath -notlike "*$installDir*") {
[Environment]::SetEnvironmentVariable("PATH", "$installDir;$currentPath", "User")
Write-Host "Added $installDir to user PATH. Restart your terminal to apply."
}
Manual Download¶
Alternatively, download directly from GitHub:
- Visit GitHub Releases
- Download
xcsh-win-x64.exe(orxcsh-win-arm64.exefor ARM processors) - Rename to
xcsh.exeand place in a directory of your choice - Add the directory to your PATH
Verify Installation¶
After installation, verify xcsh is working:
Expected output:
Shell Completion¶
Enable PowerShell tab completion:
# Load completions for current session
xcsh completion powershell | Out-String | Invoke-Expression
# Add to PowerShell profile for all sessions
xcsh completion powershell >> $PROFILE
PowerShell Profile
If $PROFILE doesn't exist, create it first:
Upgrade¶
To upgrade to a newer version:
# Download new version (same as install)
$version = "NEW_VERSION"
$url = "https://github.com/robinmordasiewicz/f5xc-xcsh/releases/download/v$version/xcsh-win-x64.exe"
Invoke-WebRequest -Uri $url -OutFile "$env:LOCALAPPDATA\Programs\xcsh\xcsh.exe"
Uninstall¶
Remove xcsh from your system:
# Remove installation directory
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Programs\xcsh"
# Remove from user PATH
$installDir = "$env:LOCALAPPDATA\Programs\xcsh"
$currentPath = [Environment]::GetEnvironmentVariable("PATH", "User")
$newPath = ($currentPath -split ';' | Where-Object { $_ -ne $installDir }) -join ';'
[Environment]::SetEnvironmentVariable("PATH", $newPath, "User")
# Remove completion from profile (if added)
# Edit $PROFILE and remove the xcsh completion line
Troubleshooting¶
"xcsh is not recognized"¶
Ensure the installation directory is in your PATH:
If not found, add it manually or restart your terminal after permanent PATH configuration.
Execution Policy Error¶
If you get an execution policy error when loading completions: