AI Workbench v1.11.0
What's Changed
Mouse clicks now reach the application running inside a pane.
Fixed
- [FIX] Clicks reach Claude Code and lazygit. Claude Code's "Jump to bottom
(click)" button did nothing in the workbench — and so did every other
clickable element in Claude Code and lazygit. v0.96.0 taught the workbench to
forward the mouse wheel to an inner application that enables mouse tracking,
but buttons were never forwarded: a left click was consumed locally for focus
and text selection, so theESC [ <0;col;row Mreport the application waits
for was never sent. Press, drag and release are now routed the same way the
wheel already was — if the inner application requested mouse tracking
(DECSET 1000/1002/1003), the event goes to it; otherwise nothing changes and
the local selection keeps working as before. The press captures the pane, so
a drag that leaves the pane still reports to the application that received it,
and the protocol mode is respected (no release reports to an X10-mode app, no
motion reports without 1002/1003).
Changed
- [CHG] In mouse-aware panes the mouse belongs to the application. Where an
inner application tracks the mouse, the workbench no longer starts its own
text selection — Claude Code marks text itself, and that selection was what
the workbench had been overriding all along. Panes without mouse tracking —
a plain shell, the preview pane — are untouched: click and drag still selects
and copies to the clipboard exactly as before.
Security
- [ADD] Self-update now verifies release signatures (SEC-01 Half 2 — finding
closed). Archives have been signed in CI since v1.6.0, but the client
installed whatever GitHub served: a compromised release asset would have
installed itself on every machine at the next auto-update.
src/update/install.rsnow embedssigning/ai-workbench-pub.binas
RELEASE_PUBLIC_KEYand passes it to bothUpdate::configure()chains, so
self_updaterejects any archive that is unsigned or signed with another
key. The published v1.10.1 asset was verified against the committed key
before enabling this, confirming binary and CI use the same key. Two
consequences: signing is now mandatory in the release workflow (missing
ZIPSIGN_PRIVATE_KEYfails the job instead of publishing an uninstallable
release), and--update-totargets must be v1.6.0 or newer, since
earlier releases predate signing. - [FIX]
SECURITY-NOTES.mdno longer reports two fixed issues as open.
"Shell Fallback in Dependency Probe" and "Predictable Temp File Path" were
still listed as(MEDIUM — open)although both were closed in v0.90.0 —
the shell fallback is gone fromdependency_checker.rs, and
pdf_export.rs:130usestempfile::Builder…tempfile_in()withO_EXCL.
Both moved to "Closed Findings" with the verifying evidence.
Internal
- [CHG]
portable-pty0.8.1 → 0.9.0, which drops theserialcrate
(unmaintained since 2017, RUSTSEC-2017-0008) in favour ofserial2and
pullsnixup to 0.28. No source change was required. Removes the only
cargo auditwarning that reached the project through a direct dependency. encode_mouse_button_event()andmode_reports()insrc/terminal.rs
(pure, unit-tested) next to the existingencode_wheel_event();
PseudoTerminal::send_mouse_button()writes them pastwrite_input()so the
scrollback position survives, assend_mouse_wheel()already did.App::forward_mouse_button()/App::pty_pane_rect()insrc/app/mouse.rs,
newApp::pty_mouse_capture: Option<PaneId>field.wheel_coords_in_pane()renamed topane_cell_coords()— it now serves
buttons as well as the wheel.- 267 unit + 3 CLI tests pass (+4).
Downloads
| Platform | Architecture | Download |
|---|---|---|
| Linux | x64 | ai-workbench-x86_64-unknown-linux-gnu.tar.gz |
| Linux | ARM64 | ai-workbench-aarch64-unknown-linux-gnu.tar.gz |
| macOS | Apple Silicon (M1/M2/M3/M4) | ai-workbench-aarch64-apple-darwin.tar.gz |
| macOS | Intel | ai-workbench-x86_64-apple-darwin.tar.gz |
| Windows | x64 | ai-workbench-x86_64-pc-windows-msvc.zip |
| Windows | ARM64 | ai-workbench-aarch64-pc-windows-msvc.zip |
Installation
Homebrew (macOS / Linux):
brew install eqms/ai-workbench/ai-workbenchUnix (Linux/macOS):
# Download and extract
tar xzf ai-workbench-*.tar.gz
chmod +x ai-workbench
./ai-workbenchWindows:
# Extract zip and run
Expand-Archive ai-workbench-*.zip -DestinationPath .
.\ai-workbench.exeAuto-Update
AI Workbench includes built-in auto-update functionality. Updates are checked automatically on startup.
See README for full documentation.