You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #103748 shipped AI-generated purpose titles for Control UI tool calls ("Ran linked list tests" instead of a raw command) via a chat.toolTitles gateway method. Follow-up #103821 removed the feature because it was always-on: rendering a chat could trigger model calls, send tool arguments to a provider, spend utility-model tokens, and persist a cache purely for decorative labels.
The underlying feature remains wanted (maintainer request in #103554): long agent sessions read much better when complex calls carry purpose titles.
Proposal
Reintroduce the titles path behind an explicit opt-in so the objections from #103821 no longer apply:
New gateway.controlUi.toolTitles config key, default false. With the default, tool rendering stays fully deterministic: the gateway answers chat.toolTitles with { titles: {}, disabled: true } without loading the completion runtime, and clients stop asking for the rest of the session.
Problem
PR #103748 shipped AI-generated purpose titles for Control UI tool calls ("Ran linked list tests" instead of a raw command) via a
chat.toolTitlesgateway method. Follow-up #103821 removed the feature because it was always-on: rendering a chat could trigger model calls, send tool arguments to a provider, spend utility-model tokens, and persist a cache purely for decorative labels.The underlying feature remains wanted (maintainer request in #103554): long agent sessions read much better when complex calls carry purpose titles.
Proposal
Reintroduce the titles path behind an explicit opt-in so the objections from #103821 no longer apply:
gateway.controlUi.toolTitlesconfig key, defaultfalse. With the default, tool rendering stays fully deterministic: the gateway answerschat.toolTitleswith{ titles: {}, disabled: true }without loading the completion runtime, and clients stop asking for the rest of the session.utilityModelor theopenai/gpt-5.6-lunadefault (only when the agent's primary model already routes to OpenAI), per-agent SQLitecache_entriescaching, fail-closed on any error.