Repository navigation
v1.23.5
-
agents psdrops a dead offloaded tab once its owner answers. A desktop editor
tab bound to a session that runs on a fleet worker used to list as its own
unknownsession (37 rows on one desktop) even after the worker answered the
sweep and reported no such live session. The worker is the authority for what
runs there, so the fleet merge now drops that tab's row when the worker answered
and lacks the session; a live session still shows as one row with the worker's
status, and a worker that went unheard still leaves the tab asunknown, never
running. A worker whose reply is not a JSON array (a login banner, an error
object) does not count as an answer. Same ruleagents feed watchalready applied. Source:
cli/src/commands/ps-roster.ts,cli/src/lib/remote-agents-json.ts. -
agents sessions resumeputs a VSCodium tab in the session's own project window and only says "opened" when the editor confirms it. Thevscodium-agentbackend sentcodium --open-url …/spawnalone, so the tab landed in whichever window was last focused (agents-cli and svatlas sessions opened inside theagentswindow) and the CLI printedOpened 1/1without knowing whether anything opened. It now raises the project's window first (a multi-root workspace through its workspace file), sends anonceand the localprojectfolder in the payload, and waits up to 15 s for the extension's ack at~/.swarmify/agents/spawn-acks/<nonce>.json; no ack or a wrong-window ack exits non-zero with the command that works instead. A session that already has a live editor tab is focused rather than duplicated, and a live process on its host is named (host + pid). Needs the matching agi-ext release to write acks; until then every--vscodiumopen reports the missing ack. Source:cli/src/lib/terminal/backends/vscodium-agent.ts,cli/src/lib/terminal/engine.ts,cli/src/commands/sessions-resume.ts,cli/src/lib/project-root.ts. -
A routed
agents sessions resumeno longer hangs on the far side, and a dropped hop no longer pretends the host is unreachable. Three faults in the SSH hop the CLI makes for itself (runOnPeer): (1) the peer'sagentsshowed the interactive "Update available" picker before resuming, so after a crash 14 restored tabs on one worker sat in that prompt with no agent started; a hop now carriesAGENTS_PEER_HOP=1and the peer prints the one-line upgrade notice instead. (2) Every interactive hop rode the shared ControlMaster, tying long-lived agent TUIs to one master connection and to sshd's per-connectionMaxSessions(10); TTY sessions (runOnPeer,sshStream) now get their own connection and short probes keep multiplexing. (3) ssh exits 255 both when it cannot connect and when the remote side of a running session dies, and the CLI treated every 255 as "unreachable" and fell back to a local resume that found no transcript; it now checks with a fresh connection and only a failed one counts as unreachable. Resume also names an older process of the same session that is still running on the host ([agents] <id> is still running on <host> as pid <n> …) and leaves it alone. Source:cli/src/lib/session/remote/remote-list.ts,cli/src/lib/ssh-exec.ts,cli/src/bootstrap.ts,cli/src/lib/self-update.ts,cli/src/commands/resume.ts,cli/src/lib/session/pid-registry.ts. -
A tab or hop that starts an agent opens straight into the agent.
--quiet(which every tab the CLI opens now passes) and a CLI-made SSH hop send everything agents itself says to a per-launch log,~/.agents/.cache/logs/launches/<time>-<pid>.logon the machine doing the work: routing banners,[agents] session recovery → …, the upgrade notice, the multi-install warning. The standalonesecretsengine's stderr ([secrets] using the encrypted file store …, once per lookup) now always goes tologs/secrets-serve.log, and the peer's login profile output (nvm's.npmrcwarning) tologs/peer-login.log. Only a launch that fails prints, asThe agent did not start: <cause>plus the log path, and writeslaunches/<session>.json;agents sessions --jsonrows carry it aslastLaunch.agents runandagents sessions resume|focusnever show the interactive upgrade menu, so a box on an older CLI no longer parks a tab on? Update available … ❯ Upgrade now. Source:cli/src/lib/launch-log.ts,cli/src/bootstrap.ts,cli/src/lib/secrets-client.ts,cli/src/lib/session/remote/remote-list.ts. -
A tab whose SSH link drops reconnects to the same session by itself when the host still answers, through the same reconnect loop
run --deviceuses; "unreachable" is reported only after a fresh connection also fails. Source:cli/src/lib/session/remote/remote-list.ts,cli/src/lib/hosts/reconnect.ts. -
Confirmed results only.
sessions resume,sessions focustab opening andrun --terminalno longer printOpening N session(s)…,opened <id> — tab — …orOpened N/M in …. VSCodium reports the acked window and tab; a backend with no confirmation says the request was sent and that the tab is not confirmed. Source:cli/src/lib/terminal/engine.ts(describeLaunch). -
Live rows list the session's artifacts with a kind.
agents sessions --active --json(and the watch streams) now fillartifactsfrom the same ledger asfiles.changes: created images, videos, html and markdown docs, absolute on the row's own machine, withkind(image,video,html,markdown,pdf,other). The picker JSON (sessions --json, in-process path) also gainstitle,localProject,lastUserMessage,lastAgentLine,editorTabandlastLaunch. Source:cli/src/lib/session/session-cache.ts,cli/src/lib/session/active.ts,cli/src/commands/sessions.ts.