Multi-session quality-of-life release: undo an accidental close, fit nine terminals on screen, and give run commands a real shell. Plus a noticeably snappier terminal under load.
Highlights
Recently closed sessions — Ctrl+Shift+T reopens the session you just closed, browser-style. The New Session dialog also lists the last 10 closed sessions for one-click revival. Reopened sessions get a fresh id, so you can close and reopen the same one repeatedly.
⚠️ Ctrl+Shift+Tused to duplicate the active session. Duplicate has moved toCtrl+Alt+T.
3×3 grid layout — nine panes for when four isn't enough. Persists across restarts like the other layouts.
Run commands grew up
- PowerShell mode — per-command toggle between a bare process and a PowerShell host. Use it when your command needs pipes, redirection,
$env:or cmdlets. Runs viapwshwhere available, falling back topowershell.exe. - Post-run URL — optionally open a URL in your browser when a command exits 0.
npm run dev→http://localhost:5173, no alt-tab. - Output no longer leaks ConPTY's
[?9001hbootstrap escape into the drawer.
Launch & shutdown spinners — starting sessions show Starting <cmd>… (or Connecting to <host>… over SSH) until the shell's first output, with an 8-second fallback so a silent command never locks the pane. Closing the window now shows a shutdown overlay instead of freezing.
Faster typing under load — chatty background sessions used to flood the shared UI queue and make the foreground terminal's keystrokes lag behind. Output is now coalesced into a single scheduled post, so the keystroke path stays clear no matter how noisy the other panes are.
Fixes
--resumenow honoursCLAUDE_CONFIG_DIR. If you'd set it, resume was reading session ids from a stale~/.claudeand failing with "No conversation found with session ID".- Fixed a Win32 race where a session's exit could be reported before the child process had actually exited.
- Post-run URLs are now restricted to
http/https. They fire automatically with no confirmation, and ShellExecute would otherwise launch a local executable or protocol handler — see #87. - Updated
Microsoft.Data.Sqliteto clear a high-severity advisory (GHSA-2m69-gcr7-jv3q) in a transitive dependency. - Binaries now report the correct File version. Every release through v0.5.0 stamped
0.3.4.0regardless of the actual version.
Upgrading
Drop-in over v0.5.0 — your state.json loads unchanged, and the new per-command fields default to previous behaviour. Verified against a real 40-session profile.
Install
winget install UmageAI.CodeShellManager
# or
choco install codeshellmanagerOr grab the MSI or portable ZIP below.
What's Changed
- feat(release): publish to Chocolatey on release by @AThraen in #49
- fix(chocolatey): pass community verification (log path + PNG icon) by @AThraen in #61
- feat(bundle): low-hanging fruit + tests, refactor, docs by @AThraen in #63
- docs: spinner design spec + doc refresh by @AThraen in #64
- fix(claude): honor CLAUDE_CONFIG_DIR when resolving the resume session id by @AThraen in #85
- perf(terminal): coalesce PTY output posts and unblock the keystroke path by @AThraen in #83
- chore(release): clear NU1903 advisory and silence CS8123 warnings by @AThraen in #86
- fix(run): only ShellExecute http/https post-run URLs by @AThraen in #87
- chore(deps): bump the actions group across 1 directory with 3 updates by @dependabot[bot] in #80
- chore(release): set version to 0.6.0 and unpin FileVersion by @AThraen in #89
Full Changelog: v0.5.0...v0.6.0