Skip to content

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 02 Oct 23:49
· 554 commits to main since this release

Highlights

Windows gets real SSH projects. An SSH project on Windows used to go through the system ssh
binary down a POSIX-shaped path that does not exist there; it now runs over an in-process SSH
transport written for it, with ProxyJump support and an opt-in way to add a passphrase-unlocked
key to the Windows ssh-agent. If you work from Windows against a remote host, this is the release
to take.

Live links (Pro). A read-only, expiring browser link to one terminal: you send the link, the
other side watches the session live, nothing can be typed back, and it stops working when it
expires.

Ports and recents. A session's dev-server ports are listed and can be forwarded over SSH, so a
server running on the remote host opens in the browser on your own machine. And "Open recent"
resumes a past agent conversation from its history instead of making you dig out a session id.

The ⌘M composer completes as you type — slash commands, skills and @files — and a script or a
CI job can ring your paired phone through a push webhook.

Smaller, and opt-in wherever it would change a habit: custom sounds for agent alerts, per-terminal
font size on Cmd/Ctrl + / − / 0, one-way context links, click-to-focus for terminal nodes, and an
offer to close a project once its last session is closed. The collapsed usage pill now names the
account new sessions will actually use.

New

  • phone — push webhook — let a script or CI job ring the paired phone · #1061 by @eneskirca
  • recent — "Open recent" — resume a past agent conversation from its history · #1062 by @eneskirca
  • usage — collapsed usage pill shows the "Use for new sessions" account · #1070 by @eneskirca
  • ports — show a session's dev-server ports and forward them over SSH · #1063 by @eneskirca
  • ssh — in-process SSH transport for Windows (phase 1: foundation, not wired) · #1068 by @eneskirca
  • chat — ⌘M composer completes slash commands, skills and @files · #1066 by @eneskirca
  • ssh — run SSH projects over the native transport on Windows (phase 2) · #1072 by @eneskirca
  • canvas — curated glyph icons for nodes · #973 by @ezwep
  • terminal — opt-in copy on select for selections xterm owns · #963 by @ezwep
  • ssh — ProxyJump on the Windows in-process SSH transport · #1078 by @eneskirca
  • canvas — opt-in click-to-focus for terminal nodes; make a click on a terminal focus it · #966 by @ezwep
  • ssh — add a passphrase-unlocked key to the Windows ssh-agent (opt-in) · #1080 by @eneskirca
  • live links — a Pro, read-only, expiring browser link to one terminal · #1087 by @eneskirca
  • canvas-control — group, move, arrange and align a project that is not on screen · #1085 by @FabricioCasali
  • projects — offer to close a project after its last session is closed (opt-in) · #965 by @ezwep
  • sidebar — show running/attention/unread badges per canvas frame · #835 by @FabricioCasali
  • notifications — custom sounds for agent alerts · #974 by @ezwep
  • kanban — show project name and color in card modal header · #932 by @igorschlum
  • terminal — opt-in per-terminal font size on Cmd/Ctrl + / - / 0 · #972 by @ezwep
  • context-link — one-way context links · #971 by @ezwep
  • terminal — preview linked local files in nodeterm · #810 by @igorschlum

Improved

  • Zellij as an optional local session backend (+ herdr measurement) · #1067 by @eneskirca
  • Relay host proof-of-possession: prove the host key before minting relay tokens or pushing · #1071 by @eneskirca
  • Quality-of-life improvements for Chat question card · #979 by @probertson
  • Share an SSH project with a hosted team in one step · #1096 by @eneskirca

Fixed

  • status — keep a "last seen" clock across an app restart · #1060 by @eneskirca
  • status — confirm grok NEEDS YOU from events.jsonl; confirm claude image paste · #1065 by @eneskirca
  • codex — keep nodeterm Codex sessions out of Codex's auto-started shared daemon · #1064 by @eneskirca
  • naming — Name with AI uses the node's Claude account; never titles a node with a CLI error · #1069 by @eneskirca
  • usage — keep each provider's account, meters and action in one block · #970 by @ezwep
  • sidebar — cut a long project name to one line in the sessions sidebar and on the welcome screen · #939 by @ezwep
  • chat — render Claude Code's injected records as chips, not the user's bubbles · #1079 by @eneskirca
  • chat — summary-only task-notification reads as finished; README states the allowlist · #1083 by @eneskirca
  • control — name every agent's state in list · #1086 by @FabricioCasali
  • messaging — queue a send to a node whose launch is still held · #1084 by @FabricioCasali
  • hook-server — read a native Windows curl's code-page escapes instead of failing silently · #1082 by @FabricioCasali
  • usage — make ⟳ re-read the other providers past their debounce · #926 by @ezwep
  • projects — cap project names at 100 characters · #954 by @ezwep
  • terminal — link a path an agent wrapped under a hanging indent (narrowed #962) · #1089 by @eneskirca
  • windows — updates no longer block on the session host — staged host runtime + in-app Prepare for update (#829) · #1093 by @eneskirca
  • subagents — decay subagent cards from their last activity, not their start · #989 by @ezwep
  • restart — quit codex with two Ctrl-Cs instead of typing /quit · #927 by @ezwep
  • restart — quit claude with three Ctrl-Cs instead of typing /exit · #942 by @ezwep
  • restart — quit grok, opencode and copilot with Ctrl-Cs too · #952 by @ezwep
  • welcome — two-column lists aligned with the card row · #1097 by @eneskirca
  • canvas — keep a focused node clear of a pinned side panel · #958 by @ezwep
  • settings — Settings blanks once Dispatch agents is on (TDZ on repository) · #1106 by @eneskirca
  • node-identity — mint node tokens on a Linux desktop with no keyring · #1105 by @eneskirca
  • chat — render single line breaks and quotes as Claude Code does · #1098 by @probertson
  • chat — show prompts typed while a turn was running · #1099 by @probertson
  • chat — never send into Claude Code's own dialogs from the ⌘M view · #1101 by @probertson
  • chat — show a finished reply without reopening the view · #1100 by @probertson
Internal changes (12) — tests, refactors, chores, dependency bumps
  • deps — bump the production-minor-patch group across 1 directory with 3 updates · #984 by @dependabot[bot]
  • performance method and rules, and the Windows SSH transport · #1077 by @eneskirca
  • ssh — ProxyJump and the Windows ssh-agent rule · #1081 by @eneskirca
  • deps — bump lucide-react to 1.48.0 with our own GitHub glyph · #1076 by @eneskirca
  • readme — Founding Sponsor section with ten logo spots · #1092 by @eneskirca
  • remove three sources of random CI failures · #1091 by @FabricioCasali
  • readme — sell the Founding Sponsor spots through Stripe · #1094 by @eneskirca
  • windows — fix the #829 shutdown and preflight tests on real Windows CI · #1095 by @eneskirca
  • pty — stop pty-project-settings waiting on the remote spawn gate · #947 by @Temikus
  • skip electron-rebuild in the quality jobs · #694 by @Temikus
  • deps-dev — bump vitest from 4.1.11 to 5.0.1 · #833 by @dependabot[bot]
  • deps-dev — Bump undici from 6.28.0 to 6.29.0 · #1074 by @dependabot[bot]

New contributors

Full Changelog: v0.4.0...v0.4.1