Skip to content

v0.3.0 — Shared terminal that remembers where you were

Choose a tag to compare

@yotsuda yotsuda released this 11 Apr 11:50
· 252 commits to master since this release

This is a big quality release built on the v0.2.0 foundation. pwsh is now stable and polished; bash/zsh/cmd are functional but lag on a few items. Upgrades are drop-in.

Highlights

Cold start & latency

  • NativeAOT — splash.exe cold start dropped from ~1s to ~130 ms, so Claude Code no longer races its first prompt against splash warm-up.
  • Concurrent pipe listeners — get_status now runs on a second pipe instance, so a long-running execute_command no longer stalls background status queries.
  • 500 ms settle removed — fast commands return without the old fixed delay; trailing output is drained adaptively.

Cwd & multi-console awareness (pwsh)

  • Auto-route when busy — if the active console is tied up (AI or user command) splash silently spins up / picks a same-family standby, cd's it to your last known cwd, and runs there.
  • Source-cwd drift detection — if the human user manually cd'd in the console you were working in, splash preserves your last known cwd when routing away and attaches a one-line "source was moved by user, ran in X at Y" notice so you can react.
  • Same-console drift warning — if the user manually cd'd in the idle active console, the next execute_command returns a verify-and-retry warning instead of running in the wrong place.
  • Background busy / finished reports — every tool response now includes a one-line summary of any other console's busy or just-finished user-typed command, discovered on demand. You no longer lose track of background work on consoles you aren't actively using.
  • "User command finished" transitions — pause / long-running user pipelines surface a ✓ #N Name | Status: User command finished line exactly once when they complete.

pwsh visible-console polish

  • Syntax-highlighted AI command echo — cmdlets, keywords (foreach, in, if, else, ...), scriptblock bodies (Write-Host inside { ... }), string interpolation ("- $i"), parameters, variables, numbers and comments all pick up PSReadLine-equivalent colors. Windows PowerShell 5.1 gets the same treatment.
  • start_console banner / reason survive ConPTY startup — they used to flash for ~0.5 s and get wiped by ConPTY''s initial \e[2J\e[H; now they''re emitted by the shell itself so they stick.
  • No more blank line between the echoed command and its output.
  • Stream capture rewritten as OSC C/D position slicing, replacing the layered AcceptLine noise filters.
  • Unowned window title moved from #PID ____ to #PID ~~~~ so splash''s idle state visually differentiates from PowerShell.MCP''s identical ____.

Robustness

  • powershell.exe fallback when pwsh.exe is not installed.
  • Same-shell-family pinning when auto-switching so bash users don''t get silently bounced into pwsh.
  • wait_for_completion now distinguishes "no commands pending", "completed" and "still busy".

Known limitations (unchanged from v0.2.0)

  • Multi-line commands break in ConPTY — compress to one line or source a tempfile.
  • bash / zsh / cmd still use the pre-banner-fix start_console path, so banners flash briefly there. Colorization is pwsh-only.
  • Routing / drift logic has no automated end-to-end test coverage yet.

Compatibility

  • Worker re-claim across v0.2.0 ↔ v0.3.0 is guarded by the claim-handshake version check introduced in v0.2.0. Running proxies will keep their existing v0.2.0 worker attached; new consoles open under v0.3.0.

Install

npx splashshell