Releases: InbarR/tmax
v1.9.1
Download
| Platform | Recommended | Alternative |
|---|---|---|
| Windows (x64) | Installer | Portable zip |
| Windows (ARM) | Installer | Portable zip |
| macOS (Apple Silicon) | .dmg | - |
| macOS (Intel) | .dmg | - |
| Linux | .deb | .rpm |
Need something else? Clone and build from source.
Auto-update files (you don't need these manually)
The Squirrel auto-updater fetches these from inside tmax. Ignore unless you're debugging an update issue.
RELEASES-x64,RELEASES-arm64- update manifeststmax-1.9.1-x64-full.nupkg,tmax-1.9.1-arm64-full.nupkg- update payloads
What's Changed
- fix: diff panel uses AI session CWD when terminal is linked (#3) by @yoziv in #112
- feat: AI-generated 1-line summary for Copilot session tabs by @mpmisha in #116
- feat: centralised getEffectiveCwd() + provider helpers with stale session guard by @yoziv in #114
New Contributors
Full Changelog: v1.9.0...v1.9.1
v1.9.0
Download
| Platform | Recommended | Alternative |
|---|---|---|
| Windows (x64) | Installer | Portable zip |
| Windows (ARM) | Installer | Portable zip |
| macOS (Apple Silicon) | .dmg | - |
| macOS (Intel) | .dmg | - |
| Linux | .deb | .rpm |
Need something else? Clone and build from source.
Auto-update files (you don't need these manually)
The Squirrel auto-updater fetches these from inside tmax. Ignore unless you're debugging an update issue.
RELEASES-x64,RELEASES-arm64- update manifeststmax-1.9.0-x64-full.nupkg,tmax-1.9.0-arm64-full.nupkg- update payloads
Full Changelog: v1.8.0...v1.9.0
v1.8.0
Download
| Platform | Recommended | Alternative |
|---|---|---|
| Windows (x64) | Installer | Portable zip |
| Windows (ARM) | Installer | Portable zip |
| macOS (Apple Silicon) | .dmg | - |
| macOS (Intel) | .dmg | - |
| Linux | .deb | .rpm |
Need something else? Clone and build from source.
Auto-update files (you don't need these manually)
The Squirrel auto-updater fetches these from inside tmax. Ignore unless you're debugging an update issue.
RELEASES-x64,RELEASES-arm64- update manifeststmax-1.8.0-x64-full.nupkg,tmax-1.8.0-arm64-full.nupkg- update payloads
What's Changed
- fix(terminal): make .md path links visibly clickable + harden fileRead errors by @yoziv in #100
- feat(panel): middle-click pane title bar to close (TASK-107) by @SolomonTomer in #96
- perf: SQLite-backed session loading for Copilot CLI (~15x faster startup) by @meni-braun in #93
New Contributors
- @SolomonTomer made their first contribution in #96
- @meni-braun made their first contribution in #93
Full Changelog: v1.7.3...v1.8.0
v1.7.3
Download
| Platform | Recommended | Alternative |
|---|---|---|
| Windows (x64) | Installer | Portable zip |
| Windows (ARM) | Installer | Portable zip |
| macOS (Apple Silicon) | .dmg | - |
| macOS (Intel) | .dmg | - |
| Linux | .deb | .rpm |
Need something else? Clone and build from source.
Auto-update files (you don't need these manually)
The Squirrel auto-updater fetches these from inside tmax. Ignore unless you're debugging an update issue.
RELEASES-x64,RELEASES-arm64- update manifeststmax-1.7.3-x64-full.nupkg,tmax-1.7.3-arm64-full.nupkg- update payloads
Full Changelog: v1.7.2...v1.7.3
v1.7.2
Download
| Platform | Recommended | Alternative |
|---|---|---|
| Windows (x64) | Installer | Portable zip |
| Windows (ARM) | Installer | Portable zip |
| macOS (Apple Silicon) | .dmg | - |
| macOS (Intel) | .dmg | - |
| Linux | .deb | .rpm |
Need something else? Clone and build from source.
Auto-update files (you don't need these manually)
The Squirrel auto-updater fetches these from inside tmax. Ignore unless you're debugging an update issue.
RELEASES-x64,RELEASES-arm64- update manifeststmax-1.7.2-x64-full.nupkg,tmax-1.7.2-arm64-full.nupkg- update payloads
Full Changelog: v1.7.1...v1.7.2
v1.7.1
Download
| Platform | Recommended | Alternative |
|---|---|---|
| Windows (x64) | Installer | Portable zip |
| Windows (ARM) | Installer | Portable zip |
| macOS (Apple Silicon) | .dmg | - |
| macOS (Intel) | .dmg | - |
| Linux | .deb | .rpm |
Need something else? Clone and build from source.
Auto-update files (you don't need these manually)
The Squirrel auto-updater fetches these from inside tmax. Ignore unless you're debugging an update issue.
RELEASES-x64,RELEASES-arm64- update manifeststmax-1.7.1-x64-full.nupkg,tmax-1.7.1-arm64-full.nupkg- update payloads
What's Changed
- fix: suppress right-click paste after failed drag-select with mouse reporting by @eladavraham in #90
New Contributors
- @eladavraham made their first contribution in #90
Full Changelog: v1.6.1...v1.7.1
v1.7.0
tmax 1.7.0
A big release - workspaces lands as the headline feature, plus a deep round of paste / scroll / link / notification fixes and polish.
Features
- Workspaces (TASK-40) - a tab is now a collection of panes. Switch workspaces from the tab bar, layouts and pane state are preserved per workspace.
- Workspaces polish (TASK-43) - per-workspace color tints, colorize toggle, UX cleanup.
- Multi-select panes in workspaces (TASK-68/72) - Ctrl+click (Cmd+click on Mac) on a pane title bar to select multiple panes; new Command Palette commands "Show Selected Panes", "Show All Panes", "Clear Pane Selection".
- Markdown preview overlay - zoom, drag-to-resize, Friendly/Raw toggle, click
.mdpaths in the terminal to open them. - In-tmax image preview (TASK-70) - click image paths in the terminal (
.png/.jpg/.jpeg/.gif/.bmp/.webp) to open an in-app preview side-panel; "open externally" button still routes to the OS viewer. - Native AI session notifications (TASK-64) - tmax fires its own OS toast when Claude Code or Copilot CLI finishes a turn or asks for approval. Settings toggle lets you disable if you prefer an external hook plugin.
- Notification toast click → focus tmax (TASK-74) - clicking a tmax notification brings the window to the front (restore + focus).
- VSCode-style keybindings.json (TASK-39) - customize shortcuts via an on-disk file.
- Configurable Vite port (TASK-44) - set
TMAX_VITE_PORTto override the renderer dev port. - Voice input task (TASK-63) - filed for a future release.
Bug Fixes
- URL clicks no longer open twice (TASK-58/60) - removed redundant
shell.openExternalcall; Electron's auto-fallback opens once. - URLs with embedded emoji (TASK-65) - stitched URL detection now spans hard newlines past emoji boundaries.
- Rich-text paste (TASK-61) - prefers visible text over link URL or PNG path; stricter standalone-link detection so prose with an inline link no longer gets clobbered.
- Right-click paste with image clipboard (TASK-66) - skips auto-paste when the clipboard is image-only (issue #84).
- Mouse wheel scroll-down during streaming (TASK-62) - pre-sync xterm viewport on wheel so the live prompt line is reachable.
- Stale "last prompt" bar (TASK-59) - upsert in
updateSessionso the bar updates with the latest input. - Clipboard image paths survive restart (TASK-73) - stable
tmpdir/tmax-clipboarddirectory so paths in scrollback stay clickable across tmax restarts; per-file 6h sweep replaces dir-on-shutdown deletion. - Image-path click in Copilot CLI (TASK-75) - bracket-wrapped paths (
[C:\...png]) now resolve correctly; bare-basename matches probe the clipboard temp dir on disk to find the real file. - Notification body identity (TASK-69) - Windows toast header now reads "tmax" instead of
electron.app.Electron; body uses session summary + branch + latest prompt. - Pane rename overrides reach notifications (TASK-71) - renderer-only
sessionNameOverridesnow sync to main so renamed panes show the user's custom name in toasts. - Voice Access focus thrash (TASK-41/53) - stop fighting Voice Access for focus; dictation no longer splices utterances mid-string.
- xterm OSC link hijack (TASK-58) - disabled the OSC link provider that intercepted clicks intended for our URL provider.
- Markdown / mermaid renderer XSS hardening - sanitized output to prevent renderer-side script injection.
- Ctrl+W frees up for shell readline (TASK-38) - close pane moved to Ctrl+Shift+W.
- Stale session name on pane re-link - cleared correctly when relinking a pane.
- Diff Review send button label - uses the dynamic agent label (#78).
Internal / Tooling
- Regression test pass for 12 merged PRs.
- xterm helper textarea hidden from UIA so screen readers/Voice Access stop misplacing the overlay (TASK-42).
scripts/free-vite-port.js- 3s timeouts onnetstat/tasklist/psso the prestart hook never hangsnpm start.
Contributors
Inbar Rotem, Claude Code, Copilot CLI agents.
Full changelog: v1.6.1...v1.7.0
Full Changelog: v1.6.1...v1.7.0
v1.6.1
v1.6.1
A focused polish release on top of v1.6.0 - lots of fixes around the AI Sessions sidebar, plus paste / float / pane-title edge cases.
New Features
- 🧹 Cleanup sessions - bulk-archive AI sessions below a prompt-count threshold from the AI Sessions overflow menu. Live "will archive N sessions" forecast as you type the threshold; pinned and already-archived sessions are skipped. Underlying transcript files are not deleted.
- Auto-archive stale AI sessions - on app start, sessions that haven't been touched in 14 days (configurable via
aiAutoArchiveDays) and one-shot abandoned sessions (messageCount < 2after 1 day) move to Archived automatically. Pinned and manually-archived sessions are never touched. - Show in AI sessions - new pane ⋯ menu item that opens the AI Sessions sidebar and reveals the session linked to that pane, expanding its repo group and clearing any blocking filter.
- Header overflow menu - the AI Sessions panel header now has a single
⋯menu for Refresh, Show running only, Collapse/Expand all groups, and Cleanup sessions. Less visual clutter; Group toggle stays inline.
Bug Fixes
- Multi-line paste (#77): right-click paste in main and detached windows now wraps in bracketed-paste markers when the shell supports it - was silently dropping all but the last line in Claude Code / Copilot CLI / PSReadLine. Closes the gap left by the v1.6.0 Ctrl+V fix.
- Pane title respects session renames (#75, thanks @omer91se): a fresh terminal that auto-binds to a session with a user-renamed title now picks up the override instead of the auto-generated summary.
- AI Sessions sidebar highlights the right session: clicking a pane now reliably highlights its session in the sidebar. Fixed three independent causes - sticky auto-link bindings (terminal kept old session.id when a fresh AI process arrived in the same pane), session row hidden inside a collapsed group, and mouse-hover stomping the focused-pane highlight. The pane's session row now has a stable
pane-activeindicator independent of hover/select. - Float toggle preserves grid layout: floating a pane out of a 2x2 grid and toggling back no longer flattens the grid into a 1x4 row. The pane returns to its original split direction, ratio, and position.
- Cwd casing no longer duplicates group headers: sessions with cwds that differ only in case (
C:\projects\ClawPilotvs...\clawpilot- same Windows folder) now collapse into a single group instead of stacking two identical-looking headers. - Garbage session summaries hidden: rows whose summary was pure structural noise (e.g. lone
|-) now fall back to the cwd / repo / id label. Root cause shipped too: the Copilot session parser now correctly handles YAML block scalars (summary: |-followed by indented content) that were previously truncated to|-.
Internals
- New regression spec coverage for paste wrapping, sidebar highlight, float restore, cwd-case grouping, hover-vs-pane-active, soft-wrap copy, and session cleanup. Soft-wrap copy spec confirms xterm correctly joins visually-wrapped lines on copy (so when paste contains spurious newlines, the source - usually an AI tool's prose wrapping - is the culprit, not tmax).
Contributors
What's Changed
- fix: preserve terminal buffer content across float/dock moves and grid rebuilds by @yodobrin in #76
- fix: pane title respects session rename by @omer91se in #75
New Contributors
Full Changelog: v1.5.5...v1.6.1
v1.6.0
Highlights
A big UX release: terminal content survives float/dock moves, you can search prompts across every AI pane and jump to the one that ran them, the AI session view tells a real story instead of metadata, and the status bar got a serious decluttering pass.
Features
- Search prompts across every AI pane (
Ctrl+Shift+Y) — type any keyword from a prompt you sent to Claude Code or Copilot CLI; pick a match to jump to that pane. Falls back to the session summary when the matched session is from another tmax window. - Terminal buffer preserved across float ↔ dock moves and grid rebuilds — moving a pane between tiled and floating mode no longer blanks the content. Backed by a serialize-and-restore cache with a 10s TTL and 2 MB cap. (#76, thanks @yodobrin)
- Session summary popover — story-style summary of an AI session with the first prompt, mid-conversation picks, the most recent prompt, and a Copy button. Right-click any AI session in the sidebar → 📖 View summary, or click the colored dot on the latest-prompt banner.
- Per-pane ⋯ menu — title-bar buttons collapsed into a single overflow menu with Diff review, Rename, Show prompts, Session summary, Float / Restore, Detach, Open folder in explorer, Hide pane, Close pane.
- Footer ⋯ overflow menu — Search prompts, Broadcast typing, Tab colors, Changelog, Diagnostics log, Report an issue all live behind a single button. Footer is much lighter.
- Hidden-panes popover with Wake-all button — when you've hidden panes via the per-pane menu and the tab bar is collapsed, the 👁 indicator on the left side of the status bar is the always-on way to bring them back.
- Rotating tips in the status bar — every 30s a different tip surfaces a feature you might not know about. AI-only tips appear only when an AI pane is focused.
- Pin AI sessions — keep important Copilot/Claude sessions at the top of the list with the 📌 button or right-click menu.
- Latest-prompt banner on AI panes — click the prompt text to jump to that prompt in the scrollback; click the colored dot for the session summary.
- Floating panes use the title bar as the drag handle, and
Ctrl+Alt+Ftoggles float for the focused pane. - Pane title from first command for non-AI panes — typing your first command on a fresh pane sets the title automatically.
- Multi-line URL link join in xterm output — wrapped URLs are detected and clickable as a single link.
Bug Fixes
- Pane-menu Float toggle now flips to Restore while floating, and the restored pane lands back at its tab-order position instead of always at the far right.
- Per-pane ⋯ menu is now portaled out of
.terminal-panelso itsposition: fixedresolves against the viewport (fixes off-screen menus on the right side of split layouts). - Pane menu items now reliably fire — backdrop's mouse handling no longer eats the click.
- Renaming a pane no longer closes when you click into the rename input to position the cursor.
- Latest-prompt jump recenters the match instead of leaving it glued to the viewport edge.
- Scroll works in focus mode (focus-mode pointer-events fix).
- Hidden-panes button position fixes (anchors to the 👁 button; sits immediately left of the Grid view button).
- Cursor re-hides when a TUI sends a bare
?25hwhile alt-screen is on. - Jump-to-prompt only highlights the match it actually jumps to (no more all-substrings highlighting).
- Misleading "not in scrollback" toast removed from jump-to-prompt.
- Partial-line writes in session parsers are now handled correctly.
- Two GitHub Copilot / Claude Code processes won't race on the same
session.json. - Auto-link AI sessions only when the session is currently active (status != idle), so old sessions don't claim live panes.
- Session summary popover spacing and word-count phrasing cleaned up.
Known Issues
- OMP e2e regression spec is skipped this release — oh-my-posh renders correctly in real tmax sessions but fails in the e2e harness (fresh user-data-dir + offscreen windows). Tracked as TASK-26 for follow-up.
Contributors
🤖 Generated with Claude Code
What's Changed
New Contributors
Full Changelog: v1.5.5...v1.6.0
v1.5.5
Full Changelog: v1.5.4...v1.5.5