Skip to content

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:

  1. Visit GitHub Releases
  2. Download xcsh-win-x64.exe (or xcsh-win-arm64.exe for ARM processors)
  3. Rename to xcsh.exe and place in a directory of your choice
  4. Add the directory to your PATH

Verify Installation

After installation, verify xcsh is working:

xcsh --version

Expected output:

2.0.9-2601051439

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:

New-Item -ItemType File -Force -Path $PROFILE

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:

$env:PATH -split ';' | Select-String "xcsh"

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:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser