v1.16.23
RightNow-AI/openfangv1.16.23Oct 2, 2026by github-actions[bot]
Upgrading?
AI Summary
Agent Deck update focusing on session management, account switching, and OpenCode 2.x compatibility.
Key Highlights
- Improved `session switch-account` to handle multiple working directories.
- Fixed stopped session status on Linux hosts.
- OpenCode 2.x launch support.
New Features
- `%` filter gains a third step for stopped sessions.
- Colored group sessions with tint propagation.
- OpenCode 2.x sessions start correctly (omits removed flags).
- Linux `send_transport = "auto"` uses messaging socket.
Full Release Notes
- **Upgrading:** `session switch-account` now keeps a target conversation copy that is newer than the source instead of refusing; pass `--archive-destination` to insist on the source copy as before. ### Added - The TUI `%` filter gains a third step when `[display] active_filter_excludes` keeps stopped sessions visible: All, Open, Open with stopped also hidden. Configurations that already exclude stopped keep the two-step cycle (#2444, thanks @borng). - A collapsed, unselected group takes the colour of a tinted session inside it (`session set <id> color`), so a coloured session can be spotted without expanding the group; nested groups propagate the tint and untinted groups render exactly as before (#2439, thanks @AdamiecRadek). ### Fixed - `session switch-account` (and the TUI account row) no longer resumes a stale conversation. Claude Code keys one working directory under up to three project directories (the path as typed, its macOS `/private` form and its realpath), and the switch used to look at one of them in one account: a copy under another key was invisible, so the switch could report "no conversation to migrate", fail its source preflight, or leave a day-old copy in the target for `claude --resume` to pick up. Every copy under every key in both accounts is now considered; the newest by last event wins (tie: longest), it is installed under every key the target could resume from, each copy it replaces is backed up next to it, and a newer target copy is kept rather than overwritten (`--archive-destination` still forces the source copy). The receipt names the chosen copy, and `--json` lists every candidate with its newest event, size and line count under `transcript`. Context export and handoff resolve the same set of keys (#2454). - A deliberate `session stop` stays `stopped`. On Linux hosts running the notify daemon the session flipped to `error` about half a second after a successful stop: the status refresh classified the missing tmux session as an exit and the daemon persisted its pre-stop sample over the saved stop. The stop is now preserved across status probes, the startup grace window and daemon polls, the daemon writes status with an atomic conditional update and adopts the committed status when it loses the race, a stopped session is only revived after tmux confirms the exact session is alive, and starting an interactive shell from `stopped` clears the stopped state (#2453). - OpenCode 2.x sessions start again. OpenCode 2.x removed `--port`, `-m` and `--agent` from its root command, so every `opencode` session died about 260 ms after launch. The launch now asks the OpenCode binary for its version (1 s timeout, cached per binary) and omits those flags for 2.x; 1.x, SSH and sandbox launches are unchanged. A configured model or agent cannot be passed to 2.x and is reported in the log (#2433, thanks @kevtae). - With `send_transport = "auto"`, `session send` to a Claude session on Linux now uses the messaging socket instead of always falling back to tmux with `proc_start_mismatch`: Claude Code records `procStart` as the `/proc/<pid>/stat` start time on Linux and as `ps lstart` on macOS, and the resolver only compared against the latter (#2441, fixes #2438, thanks @imkarrer). - Archived sessions that still claimed a live status are re-polled until they settle, so the header and filter counts no longer report sessions as running that `list --json` reports as error (#2443, thanks @borng). - Errors from closing files after writing (send queue records, logs, lock files, update plans, watcher event logs) are now reported instead of ignored, so a failed flush is no longer silent (#2420).
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one