Repository navigation
0.10.1 — 2026-09-30
Release Notes
Interrupting a turn no longer makes the model refuse your next message,
sessions are saved while a turn runs and come back after a crash, and the
TUI gets a round of polish.
Fixed
- Interrupting a turn made current models refuse to continue. Esc,
quitting mid-turn, the cost cap andsynaps daemon reload/stopfolded an
"ABORT CONTEXT" recap of the model's own partial output into your next
message, and current models read that as a prompt injection. The
interrupted turn is now kept as real history: the partial reply, every
finished tool round, and a labelled partial result for a tool that was
cut. One short marker follows it, e.g.[Request interrupted by user].
Nothing already sent is rewritten, so the prompt cache keeps working.
Sessions saved with a recap are migrated when loaded. (#182, #184) - Esc a moment after an answer finished no longer marks it interrupted.
(#184) - A canceled tool result says what canceled it, e.g. "Canceled (Synaps
restarted)"; "Canceled by user" only when it was you. (#185) - Two clients on one session: the second client now shows prompts typed
on the first, each reply is its own block, a notice arriving mid-reply no
longer splits it, and "input is owned by client #N" is shown only to the
client that joined. Attaching mid-turn no longer shows the finished rounds
twice. (#184, #185) - Socket clients could see a turn end mid-stream (an internal checkpoint
reached them asDone). (#184) /resumeof a session that is live elsewhere is refused instead of taking
it over. (#184)- Tools activated with
activate_toolsexpired at the end of the turn; they
now last the whole session, as documented. (#162) - Several blocking subagents in one batch ran one after another; they now
run side by side. (#171) - A background subagent (
subagent_start) showedstarting…for its whole
run once the turn that started it had ended. (#180) - A subagent whose
agentis a file path was labelled with the whole path,
and its log file could land outside the log directory. (#173) - An idle TUI redrew at about 60 fps forever; idle CPU is now zero. (#164)
- Settings → Theme transition could not be turned back on. (#165)
/themeduring a turn also printed "can't run while streaming". (#168)- Tool cards used the default theme's slate panels on every theme. (#167)
Added
- Sessions are saved while a turn runs. The session is saved after
every round, in the background (a slow disk never delays the turn), and
the reply being streamed is kept in a smallsessions/<id>.turndraft.
After a crash,kill -9or power loss, the next--continue, attach or
/resumebrings the partial reply back, followed by[Request interrupted: Synaps stopped unexpectedly]. (#183, #184) - Claude Opus 5.5 as a native Anthropic model (image reads work). (#163)
- An optional
namefor inline subagents (subagent,subagent_start),
shown in the tray,subagent_status/subagent_collectand the log file
name. (#172)
Changed
- TUI: a neon prompt and a footer after Noodle; frameless Settings,
Plugins, Models and Help modals, toasts and prompts; running subagents sit
in a tray on the prompt; the prompt's❯breathes while a turn streams
instead of a spinner; an empty prompt shows only❯; event cards and
diffs take the theme's colours. (#166, #169, #170, #174–#178) - Models picker: every letter searches, ←/→ fold, Ctrl+E opens the catalog,
Ctrl+F toggles a favourite. (#169) - The streaming glow is off by default;
tui_streaming_glow = on(or
Settings → Appearance) turns it back on, and a config that already says
onkeeps it. (#179)
Upgrade notes
synaps rpcandsynaps servernow take the session lock.
--continueof a session that is live in another process (a TUI, the
daemon, another rpc) exits with an error naming the holder, instead of
two writers overwriting each other's history. Continuing it after the
other process exits works as before. (#185)- After upgrading, run
synaps daemon reloadwith no turn running to move
the daemon to the new binary; clients reconnect on their own. Then
restart any client still open from 0.10.0: it shows the new interruption
marker as a message you sent. Sessions saved by 0.10.0 with an interrupted
turn are converted on load; nothing to do.
Internal
save_cost_bench: measures a session save on a real disk
(SYNAPS_SAVE_BENCH_DIR). (#184)- Test isolation:
follow_chain_*tests no longer leakSYNAPS_BASE_DIR
(thewrite_config_valueCI flake). (#160)
Install synaps 0.10.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/HaseebKhalid1507/SynapsCLI/releases/download/v0.10.1/synaps-installer.sh | shDownload synaps 0.10.1
| File | Platform | Checksum |
|---|---|---|
| synaps-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| synaps-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| synaps-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| synaps-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| synaps-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |