-
v2.1.277Promo banner telemetry gains an entry_point dimension
Promo banner clicks and opens now record which entry point triggered them
found in this entry's text
-
v2.1.277Fleet command bar and fleet reply composer now strip invisible/injected characters before dispatch
Fleet's command bar and reply composer now strip invisible characters and block sending if any are found
found in this entry's text
-
v2.1.277Plugin UI test API
$.ui.press now supports non-terminal surfaces
Plugin test helper $.ui.press can now press buttons on non-terminal surfaces
found in this entry's text
-
v2.1.277Plugin component events generalized beyond terminal via a new 'surface' field
Plugin UI component events can now report a surface other than 'terminal'
found in this entry's text, named in this entry
-
v2.1.269hooks.json
surface field removed in favor of inline Client module references
hooks.json drops its surface field; plugins now name their display module directly on each Client element
found in this entry's text
-
v2.1.269Plugin loader: hook-module "surface" tagging removed; new parameter threaded through
Plugin hook loading drops an internal "surface" tag while gaining a new unused parameter
found in this entry's text
-
v2.1.269New plugin hook event: session.surfaces (plural)
A new plugin hook event, session.surfaces (plural), joins the existing session.surface
found in this entry's text
-
v2.1.269Permission-allow decisions now record which UI surface granted them, and host-dialog allows are pushed to the session
Permission-allow decisions now record which UI surface granted them
found in this entry's text
-
v2.1.269Plugin hooks-module loading drops an inline surface-path traversal check here; multi-module surface loading added elsewhere
Plugin hooks-module loading no longer validates a separate 'surface' path there; surface loading elsewhere now supports multiple modules
found in this entry's text
-
v2.1.269Tool-decision telemetry now records which UI surface produced an accept
Tool-decision telemetry now records which UI surface an accepted tool call came from
found in this entry's text
-
v2.1.269session.surfaces added alongside session.surface
New session.surfaces control endpoint lists all attached drawing surfaces, alongside the existing single-surface one
found in this entry's text
-
v2.1.269New telemetry/event identifiers added
Several new internal event and telemetry names have been registered
found in this entry's text
-
v2.1.269logDecision gains a 'surface' field for config-based tool approvals
Logged permission decisions now include a 'surface' field for config-based tool approvals
found in this entry's text
-
v2.1.269Plugin/hook control-protocol gains session.surfaces and config.list capabilities
Plugin and hook SDK gains session.surfaces and config.list capabilities
found in this entry's text
-
v2.1.269Decision-log 'accept via config' events now carry a 'surface' field
Auto-accepted tool-permission log entries now record a surface field
found in this entry's text
-
v2.1.268Remote-session org-policy denials now emit telemetry
Blocked remote-session actions from org policy now emit a tengu_org_policy_denied telemetry event
found in this entry's text
-
v2.1.268Frontmatter-shadow telemetry no longer conflates surface and detail
Frontmatter-shadow telemetry now logs surface and detail as separate values instead of one value duplicated into both
found in this entry's text
-
v2.1.268New virtual plugin "surface" bundling/runtime scheme
A new "surface" virtual-module system lets plugin desktop UI code import from special surface:/// and claude: URIs
found in this entry's text
-
v2.1.268Feedback survey followup payload now whitelists included transcript/session fields
Feedback survey followups now send only a fixed, named list of fields instead of a free-form object
found in this entry's text
-
v2.1.267Hooks plugin API gains a 'to' messaging primitive, 'surface' concept, and table resolution
Hooks/plugin runtime gains a 'to' messaging function, a 'surface' concept, and table-resolution requests
found in this entry's text, named in this entry
-
v2.1.267New plugin "surface" UI system for terminal-rendered plugin components ("Clients")
Plugins can now draw their own interactive UI elements ('Clients') directly in the terminal
found in this entry's text, named in this entry
-
v2.1.267hooks.json can now declare a
surface module
hooks.json can now declare a separate 'surface' module for drawing a hook module's UI elements
found in this entry's text, named in this entry
-
v2.1.267Plugin hook system gains matcher/argument-shape validation and size-limited ui.message data
Plugin hooks now get validation errors for malformed matchers, disallowed edits, and oversized ui.message data
found in this entry's text
-
v2.1.259New
Svg render element type for engine/dialog UI trees
Dialog and engine UI trees can include an Svg element, and the validator now reports when an element isn't allowed on a surface.
found in this entry's text
-
v2.1.247Device-flow docs describe the surface parameter Claude Code sends
OAuth docs now note that Claude Code sends a surface parameter and its own user agent.
found in this entry's text
-
v2.1.239Spend and rate limit notices say when the limit resets
Rate and spend limit notices now name the limit and when it resets.
found in this entry's text
-
v2.1.223Programmatic submission of a queued feedback draft
Scripts can now submit a queued feedback draft by id without opening the review dialog.
found in this entry's text
-
v2.1.221Daemon-boot gesture telemetry gets more fields
Reconnect telemetry now records more detail about how your session came back up.
found in this entry's text
-
v2.1.221Background attach telemetry gets cold-start and surface dimensions
Background attach events now record cold starts, surface and first frame details.
found in this entry's text
-
v2.1.219Upgrade links now carry a per-surface UTM campaign
Upgrade links now include tracking parameters so each entry point is attributable.
found in this entry's text
-
v2.1.120Feedback Submission Now Tracks Surface Origin
found in this entry's text