# Do versions matter? Measured, 28 September 2026

Short answer: **the shell version matters enormously, the terminal does not matter at all,
and the version the agent actually gets is not the one you installed.**

## What is on the Windows system

| Component | Version | Path |
|---|---|---|
| Windows | 11 Pro, 10.0.26200 | |
| Windows PowerShell | 5.1.26100.9444 | `C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe` |
| PowerShell | **7.6.6**, installed today | `C:\Users\USER\tools\pwsh7\pwsh.exe` |
| Windows Terminal | 1.24.11911.0 | |
| Git Bash | POSIX sh via MSYS2 | `/usr/bin/sh` |
| Linux arm | Debian 13, kernel 6.12.95, bash | Linux system |

PowerShell 7 was installed as a **portable per-user build**: a zip extracted to a user
folder, added to the user PATH. No administrator rights, no installer, no service, no
reboot, nothing restarted, and removable by deleting one directory. Running sessions were
not touched.

## The shell version is worth 18.4 points

Same machine, same files, same 76 commands, only the shell version changed:

| | Survival |
|---|---|
| Windows PowerShell 5.1 | 26.3% |
| PowerShell 7.6.6 | **44.7%** |

Fourteen commands recovered, and they cluster:

| Category | 5.1 | 7.6.6 | Why |
|---|---|---|---|
| coherence, write then read back | 0/7 | **6/7** | `&&` is a real operator in 7. In 5.1 it is a parse error, so a write-then-verify idiom fails at the syntax before the filesystem is ever reached |
| text processing | 5/12 | 9/12 | `grep`, `sed -i`, `head` and `xargs` resolve and behave |
| exit codes | 1/8 | 3/8 | `&&` and `||` again |
| paths, globbing, variables, case | unchanged | unchanged | Version buys nothing here |

**So yes: keep PowerShell updated.** It is free, it needs no admin, and it more than halves
the failure rate of the command vocabulary a model emits by default. It is also good for
ordinary work for the same reason: `&&` and `||` are how everybody writes shell.

## But the agent is still getting 5.1

This is the part that changes what to do about it.

This session's own environment reports the PowerShell edition as **Windows PowerShell 5.1
(powershell.exe)**, and a direct check confirms it: the tool resolves to
`C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe`, version 5.1.26100.9444.

**Installing PowerShell 7 does not change that.** `powershell.exe` and `pwsh.exe` are
different binaries with different names, by design, so 7 sits alongside 5.1 rather than
replacing it. Putting `pwsh` on PATH helps every other shell, script and habit on this
machine, and it does not redirect a harness that invokes `powershell.exe` by name.

**The operative figure for the agent as configured today is therefore 26.3%, not 44.7%.**
That distinction has to survive into the paper, because the obvious reading of "update
PowerShell and the failure rate halves" is wrong unless the harness is also pointed at the
new binary.

Worth noting for a reader in the same position: on this machine the agent already has a
POSIX shell available at 97.4%, so the practical answer is to prefer that tool rather than
to tune the PowerShell one.

## The terminal does not matter, and here is why

Windows Terminal 1.24 is current, and the version is irrelevant to every number in this
study.

**Tool output reaches a model through a pipe, not through a terminal.** The probe harness
captures `stdout` and `stderr` with `subprocess.PIPE`; no terminal emulator is in the loop at
any point, and yet every difference reported here still appears. A terminal cannot change a
command's exit code, its bytes, or whether a file was overwritten.

What the terminal does affect is what a **person** sees: font and glyph coverage, colour,
unicode rendering, scrollback, resizing. Those matter for working comfortably and for reading
an agent's TUI, and they matter not at all for whether `Beta.txt` and `beta.txt` are two files.

Keeping Terminal current is worth doing. It is not worth measuring, and it should not appear
in the paper's results as though it were a variable.

## The honest summary

1. **Shell dialect** is the dominant factor. 97.4% against 44.7% on one machine.
2. **Shell version** is a real second factor, 18.4 points, free, no admin.
3. **Operating system** contributes almost nothing to command failure, 2 of 76, but both of
   those are silent and one destroys data.
4. **Terminal** contributes nothing, by construction, and can be excluded from the design
   rather than controlled for.
