Repository navigation
v0.3.0 — Shared terminal that remembers where you were
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.execold start dropped from ~1s to ~130 ms, so Claude Code no longer races its first prompt against splash warm-up. - Concurrent pipe listeners —
get_statusnow runs on a second pipe instance, so a long-runningexecute_commandno 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 nextexecute_commandreturns 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 finishedline exactly once when they complete.
pwsh visible-console polish
- Syntax-highlighted AI command echo — cmdlets, keywords (
foreach,in,if,else, ...), scriptblock bodies (Write-Hostinside{ ... }), 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.exefallback whenpwsh.exeis not installed.- Same-shell-family pinning when auto-switching so bash users don''t get silently bounced into pwsh.
wait_for_completionnow 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