winTerm 1.3.0-beta2
Pre-releasewinTerm 1.3.0-beta2
This is a beta prerelease. The current stable release remains
v1.2.0, and
/releases/latest continues to point there. The beta is listed on the winTerm
website next to the stable download and is published as a GitHub prerelease;
it is not submitted to WinGet.
winTerm 1.3.0-beta2 is the second beta of the Command Timeline release.
It fixes one defect found in 1.3.0-beta1 and is otherwise identical to it.
Fixed since 1.3.0-beta1
- Failed commands are reported as failed again. In beta1, every finished
command showed✓ Succeeded, including commands that clearly failed. The
PowerShell prompt wrapper executedGet-Modulebefore it read$?, so the
shell always reported exit code 0. The wrapper now captures$?as its
first statement and hands it to the prompt function: a failed cmdlet
reports exit code 1, a native command reports its real exit code, and the
Timeline resolves entries to✕ Failedaccordingly. The shell integration
test suite now drives the installed prompt wrapper exactly like the console
host and locks in the first-prompt, success, cmdlet-failure, native-failure,
and recovery sequences.
What is new since v1.2.0: Command Timeline
The Command Timeline is a per-pane, in-memory list of the commands that pane
has run. Open it with Ctrl+Tab, or with the thin auto-hiding handle on the
left edge of the terminal; click the terminal, press Escape, or press
Ctrl+Tab again to close it.
- Per-pane history. Each pane keeps its own list, built from OSC 133
shell integration only. winTerm never guesses where a prompt or output
begins, andcmd.exe— which does not report command boundaries — shows
Command timeline unavailablerather than untrustworthy results. - Works out of the box. A profile whose commandline is a bare
powershell.exeorpwsh.exe(optionally with-NoLogo/-NoExit)
automatically imports the packagedwinTerm.Shellintegration module at
startup. Any customized commandline launches unchanged; the per-profile
setting"shellIntegration.autoInject": falseturns the rewrite off. - Load without executing.
Enteror a single click puts the selected
command on the input line and stops there. No carriage return is ever sent,
the Windows clipboard is never read, and input broadcast never forwards the
load to another pane. - Filtering. Press
/orTaband type to narrow the list. Matching is
a plain, case-insensitive substring match over command text only — no
wildcards, no regular expressions, no fuzzy matching, and command output is
never searched. - Copy and jump. Right-click an entry to copy the command, copy its
output, or scroll to where its output begins. Output is read from the
terminal buffer only at that moment and is never cached. - Trustworthy status. A command shows ● Running while it executes and
resolves to ✓ Succeeded or ✕ Failed when the shell reports its exit code.
Unknownappears only when the shell genuinely did not report a result,
and explains itself on hover. Status is never conveyed by color alone. - Readable rows. Hover any row for the full command text; the selection
moves without rebuilding rows, so the list stays steady under the arrow
keys.
Keyboard
| Shortcut | Behavior |
|---|---|
Ctrl+Tab |
Toggle the Command Timeline for the focused pane |
Ctrl+T |
Next tab |
Ctrl+Shift+T |
Previous tab |
Ctrl+Alt+T |
Open new tab |
While the Timeline is open:
| Key | Behavior |
|---|---|
/ or Tab |
Move focus to the filter box |
Up / Down |
Move the selection by one command |
Left / Right |
Select the first / last command on the current page |
Enter |
Load the selected command; never runs it |
Space |
Scroll the terminal to that command's output |
Ctrl+C |
Copy the selected command text |
Escape |
Clear the filter, or close the Timeline if the filter is empty |
Your own key bindings take precedence over every default above. Keys the
Timeline consumes are not sent to the shell, and filter text never reaches
the shell.
Settings
{
"commandTimeline.enabled": true,
"commandTimeline.historyLimit": 500
}Per profile:
{
"shellIntegration.autoInject": true
}- Show command timeline defaults on. Turning it off hides the handle,
closes an open overlay, and stopsCtrl+Tabfrom opening it. - Commands remembered per pane defaults to 500 and accepts 50 through
5000. An out-of-range value is clamped rather than failing the settings
load.
An existing settings file needs no migration.
Changes accumulated through the prerelease series
- alpha2: auto-injected shell integration, the auto-hiding handle,
terminal-click light dismiss, and the recognition-engine fixes for stuck
progress bars. - alpha3: correct FinalTerm mark emission (no stray characters, exact command
capture), no progress bar at an idle prompt, no phantom Timeline row, no
selection jitter, and silent degradation when antivirus blocks an optional
module component. - alpha4: the antivirus write-then-execute false positive removed at its
source, ✓/✕ results restored through the Enter-keypress lifecycle
notification, and full-command tooltips. - beta2: real exit codes restored to the finished mark, so failures resolve
to ✕ Failed instead of a false ✓ Succeeded.
Privacy
- Command text lives only in memory, only in the pane that ran it, and only
while that pane is open. Nothing is written to disk; there is no command
history file or database. - Command output is never cached, indexed, or searched.
- Filter text is never saved and never leaves the pane.
- No telemetry is written, and no command, output, path, or filter text is
logged. - The clipboard is written only by an explicit copy action, and is never
read.
See the privacy policy.
Unchanged in this release
Workspace schema (2), docking model (1), shell protocol (1), theme schema
(1), update manifest schema (1), package identity, and signing policy are all
unchanged from v1.2.0. Visual Progress behavior is unchanged apart from the
recognition fixes above.
Known limitations
- The Timeline requires OSC 133 shell integration; it stays unavailable under
cmd.exe. - A multi-line command is refused when the shell has not enabled bracketed
paste, because unbracketed line breaks would be read as pressing Enter. - Loading a command longer than 1024 characters asks for a confirming
Enter. - Command history does not survive closing a pane, and is intentionally never
persisted.
Installation
The Setup EXE supports current-user and all-users installation; the Portable
ZIP can be extracted to a writable directory and run without installation.
Installing the beta over v1.2.0 or an earlier prerelease is supported; the
file version is 1.3.0.5. Package identity stays separate from Microsoft
Terminal, so it does not disturb an existing Windows Terminal installation.
Publisher: helloThisWorld. Tag: v1.3.0-beta2.
Signing
The winTerm 1.3.0-beta2 Setup EXE is not Authenticode-signed. Windows may
display Unknown Publisher or a SmartScreen warning. Download only from the
official GitHub Release and verify the file against SHA256SUMS.txt before
running it.