Release notes
Also available from the CLI: tuimote changelog.
Release notes for tuimote. Each section covers one public release; entries are grouped by kind. Newest release first.
1.2.0 — 2026-07-17
Artifact sharing to the public web, terminal editors (Helix, Vim, Neovim, Nano) and unified shell sessions in the browser terminal, a tmux settings tab, CSV table artifacts, bulk dashboard operations, and three builtin panels — plus updater, federation, and server reliability fixes.
Features
- Artifact sharing — share a Docs artifact from its reader or context menu: download it as PDF, copy the raw source, or publish it as a public HTML/PDF/SVG link through your own SSH webspace (Settings → Experimental → Artifact sharing). Published links are remembered per artifact so re-sharing returns the existing URL, and a two-tap End share revokes it — deleting exactly that share from the webspace. On federated setups the hub publishes peer-owned artifacts through its one configured webspace; both endpoints are operator-only.
- Terminal editors — experimental Helix, Vim, Neovim, and GNU Nano panes (Settings → Experimental → Terminal editors, each its own toggle). Editors open beside Shell in repo and folder launchers with managed configs: file browser on start, clipboard forwarded over OSC52, fullscreen with the mobile keybar. On phones the keyboard is explicit — a keybar button summons it, and the bar compacts to Esc/Tab/arrows while it's up.
- Shell sessions — repo and home shells unify under one experimental toggle: Shell appears in repo launchers and the dashboard gets a Home shortcut. Shell panes run in the main terminal with always-on zsh completions and no agent transcript or resume identity; the dashboard action cluster also gains a fresh-chat shortcut.
- tmux settings — a new Settings → tmux tab controls how the web terminal participates in tmux: pass
Ctrl-B through to enable splits, windows, and choose-tree; a tuimote footer bar for managed sessions (repo color, window/pane stats, clock) that cleanly restores your own ~/.tmux.conf status when off; and "show all tmux sessions", which surfaces unmanaged sessions on the dashboard and quick switcher.
- Table artifacts — CSV files are a first-class artifact kind: data tables open in an explorable viewer in the Docs reader, with a built-in sample dataset to try it on.
- Bulk session operations — dashboard multi-select grows up: shift-click selects ranges, and the context menu can generate summaries for all selected sessions or copy them to another agent in one go — federation-aware, so a peer-owned session only offers agents its host can launch.
- Live updates — the dashboard refreshes on change instead of on a fixed 3-second clock: mutations trigger a debounced snapshot rebuild, idle servers back off to a 30-second heartbeat, and stash/summarize/save actions show busy states that clear when the change actually renders.
- Panels — Stats, Monitor, and SQL browser panels ship builtin behind experimental toggles. Stats is a per-repo insight dashboard: churn hotspots, commit activity, lines of code, branch diff, outdated dependencies across ecosystems, and test coverage. The dock also remembers its open page per repo.
- Docs — tuimote.org/docs gains a keyboard shortcuts reference.
Fixes
- Updater — self-updates now reliably take effect: the server watches its own binary for swaps (install.sh, Homebrew, or manual) and restarts gracefully, and
tuimote setup migrates Homebrew launchd services to version-independent paths so they survive brew upgrade.
- Server — one server per state directory, enforced with a lock file and bind-before-spawn ordering (a duplicate launch now exits with a clear error instead of churning CPU); a silent or half-open connection can no longer stall the shared HTTP/TLS listener for everyone else.
- Federation — a server can no longer add itself as a peer via stale mDNS records; unreachable peers get typed diagnostics (timeout, DNS, TLS pin mismatch, auth) in dashboard warnings,
tuimote status, and tuimote peers ls, and a firewalled host can see how many peers report it unreachable.
- Codex — the usage gauge understands the new single weekly limit, and converted sessions resume correctly in the Codex TUI; a daily canary now exercises the full conversion path end to end.
- Terminal — new sessions show their repo identity immediately instead of a blank header; switcher pause/stop controls work per session kind and auto-advance; live tmux panes appear for repos without transcripts yet.
- Multisummary — malformed session slugs from cheap-model orchestrators now bounce with a per-slug hint and corrected sample instead of reporting success while dispatching nothing.
1.1.0 — 2026-07-12
The first feature release since 1.0.0: automatic update checks with self-update, a docs section on tuimote.org with a full CLI reference, a shell command mode in the composer, richer dock panels, hardened federation transport, and a batch of security and reliability fixes.
Features
- Updater — daily update check and self-updater, split by install method:
install.sh installs update themselves in place (signature-verified, atomic), Homebrew installs get a notification. Release notes show up in the settings modal under "What's new". Opt out with tuimote config set updateCheck false.
- **Composer
! shell mode** — prefix input with ! to run a shell command in the session's directory instead of sending it to the agent, with tinted input and real zsh completions.
- Shell panel completions — the Shell panel composer gets the same zsh completion engine, always on: tap/Tab/arrow chains completion layers (subcommands, flags, next-argument suggestions), Enter runs the command.
- Panels — the Code panel ships builtin; the repo dock now opens without a running TUI session; panels can ask the host for peer-aware session and agent pickers instead of hardcoding targets.
- Federation transport — server-to-server HTTPS with a persistent self-signed certificate pinned by SHA-256, and an optional per-peer SSH tunnel transport.
- Harness portability — native memory injection and skill compatibility views across all seven supported harnesses.
- Docs — documentation section on tuimote.org with a generated CLI reference; man pages and shell completions ship with the installer and the Homebrew tap.
- CLI —
tuimote changelog prints these release notes; tuimote uninstall removes an install cleanly; crashes now produce a short human-readable report instead of a raw panic.
- Config — global config schema is versioned and migrates stepwise across upgrades.
Fixes
- Security — closed a path traversal in the artifact/file-serving guards; federation peer credentials are scoped to a non-admin surface; markdown links in project context only allow safe URL schemes.
- Panels on iOS — panel assets carry content-hash cachebusters so the iOS PWA reliably picks up panel updates; builtin panel discovery works when the server is started by launchd/systemd outside a checkout.
- Shell completions — zsh is found even when off PATH (minimal service environments like Synology DSM or bare systemd units).
- Session summaries — cross-harness conversion and multisummary fixes: converted sessions resume reliably, summarized originals are archived instead of being re-processed, and supercompaction no longer drops the calling session's own record on non-Claude harnesses.
- Skills — duplicate cross-harness divergence warnings are deduped, and sessions without a repo no longer misflag global skills.
1.0.0 — 2026-07-06
First public release.
tuimote is a remote control for Claude Code and other agentic TUI apps. It runs coding agents in tmux on your machine and serves every session to your phone, tablet, and other computers as a live, real terminal — the complete TUI with its full feature set, not a reduced remote-control mode.
Highlights:
- Live terminal streaming (xterm.js/WebGL) to any device on your LAN, as a PWA with mobile gestures, composer, and focus mode
- Multi-harness: Claude Code, Codex, Pi, and friends, each with native session resume and transcripts
- Inter-agent comms: sessions message each other, share memory, and coordinate work
- Dock panels (file browser, git, issues, …) as hot-loaded JS plugins
- Signed, notarized macOS builds and static Linux binaries, installable via
install.sh or Homebrew