An off-by-default 'tether' subsystem lets assistant turns continue a previous server-side thread instead of starting fresh, with telemetry and echo auditing
What
- A new subsystem decides, per assistant turn, whether an API request should continue a previous server-side "thread" (
previous_message_id) or start a new one. It tracks per-agent thread state, retries on thread-related errors (thread_not_found,thread_fingerprint_mismatch,thread_already_continued), and falls back to stateless mode when the server rejects thread continuation. This feature is gated and off by default. - Three new telemetry events were added for it: one fired when deciding to create/continue a thread, one on the final outcome of the live request, and one ("echo audit") auditing divergence between sent and echoed conversation turns.
- The echo-audit piece compares the message content sent versus what the server echoed back, classifying differences such as reordered, turn_split, turn_dropped, added/dropped tool_use, tool_name_changed, or caller_dropped, and reports them via
tengu_tether_echo_audit.
Why Threading requests server-side can reduce redundant context sent per turn, but only works if server and client stay in sync; the echo-audit and outcome telemetry let this be verified and the retry/fallback logic keeps conversations working even when the server rejects or loses a thread.
tengu_curious_tower Not enough to sayNothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.
This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.265: off
tengu_curious_tower_stateless_models Not enough to sayNothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.
This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.265: not a boolean we can read
Read once, for one account on one subscription tier, against v2.1.265. It isn't a statement about your account. What a flag value here can and cannot tell you
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Nothing has been read about whether tengu_curious_tower or tengu_curious_tower_stateless_models is on or off for any account, so it's…
New in this build: tengu_curious_tower