{"name":"ui.log","slug":"ui-log","family":"setting","title":"Settings keys","noun":"settings key","description":"Plugins can install code that intercepts tool calls and repaints parts of the terminal interface.","description_source":"entry","described_by":{"version":"2.1.242","anchor":"plugin-modules-with-a-api-that-can-hook-events-and-redraw-th"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.319","builds":0,"mined_builds":159,"first_cited":null},"aliases":[],"entries":[{"version":"2.1.304","anchor":"uiopen-uiresolve-capabilities-for-claude-test","heading":"Claude Test gains two more interface actions","line":"Claude Test's list of interface actions now includes `ui.open` and `ui.resolve`, alongside `ui.log` and `ui.toast`","released_at":"2026-10-19 19:47:15","reason":"found in this entry's text"},{"version":"2.1.299","anchor":"plugin-hook-modules-managed-policy-restrictions-and-new-ses","heading":"Plugin hook modules get more events and organization policy limits","line":"Plugin hook modules can respond to more events, while plugins people install themselves face limits where an organization manages Claude Code","released_at":"2026-10-14 00:23:19","reason":"found in this entry's text"},{"version":"2.1.299","anchor":"plugin-runtime-mods-gain-uilog-envget-envset","heading":"Plugins gain entries for logging and environment variables","line":"The plugin runtime's list next to tool.register and tool.list now also includes ui.log, env.get and env.set","released_at":"2026-10-14 00:23:19","reason":"found in this entry's text"},{"version":"2.1.290","anchor":"plugin-runtime-now-logs-and-warns-when-texts-are-truncated","heading":"Plugins now get a notice when their text is cut short","line":"Over-long plugin text is now shortened with an ellipsis and a notice, and long tool descriptions are cut instead of rejected","released_at":"2026-10-05 18:12:44","reason":"found in this entry's text"},{"version":"2.1.277","anchor":"plugin-hook-dispatch-deep-copies-input-for-a-fixed-set-of-ui","heading":"Plugin hook dispatch deep-copies input for a fixed set of UI\/registration events","line":"Plugin hooks now receive a deep copy of the event payload for UI and registration events, not the original","released_at":"2026-09-18 16:22:26","reason":"found in this entry's text"},{"version":"2.1.275","anchor":"plugin-api-uilog-gains-a-to-destination-field","heading":"Plugin API: ui.log gains a to destination field","line":"Plugin ui.log gains a to field to route output to the transcript or a debug-only log","released_at":"2026-09-17 20:20:31","reason":"named in this entry, found in this entry's text"},{"version":"2.1.242","anchor":"plugin-modules-with-a-api-that-can-hook-events-and-redraw-th","heading":"Plugin modules with a $ API that can hook events and redraw the terminal UI","line":"Plugins can install code that intercepts tool calls and repaints parts of the terminal interface.","released_at":"2026-08-24 19:16:14","reason":"found in this entry's text"}],"entries_total":7,"docs":[{"source":"claude-code","path":"plugins\/mods\/admin","title":"Manage mods for your organization","documented":false},{"source":"claude-code","path":"plugins\/mods\/api","title":"Use the mods API","documented":false},{"source":"claude-code","path":"plugins\/mods\/events","title":"React to events with a mod","documented":false},{"source":"claude-code","path":"plugins\/mods\/test","title":"Test a mod","documented":false},{"source":"claude-code","path":"plugins\/mods\/troubleshoot","title":"Troubleshoot a mod","documented":false}],"docs_total":5,"gates":[],"related":[{"name":"ui.backdrop","slug":"ui-backdrop","description":"Several small internal additions, including a backdrop UI action and extra effort and auto mode details, with no visible feature yet"},{"name":"ui.blit","slug":"ui-blit","description":"Plugins can now request keyboard focus and control scrolling in UI regions they drew"},{"name":"ui.close","slug":"ui-close","description":"Plugins can now list, register, and run slash commands, and open or close a UI surface"},{"name":"ui.copy","slug":"ui-copy","description":"New ui.copy capability added to the permission list plugins and hooks can request"},{"name":"ui.focus","slug":"ui-focus","description":"Plugins can now request keyboard focus and control scrolling in UI regions they drew"},{"name":"ui.input","slug":"ui-input","description":"Plugins gain validated Input, Select, and Link UI components."},{"name":"ui.invalidate","slug":"ui-invalidate","description":"Plugins can now invalidate prompt.context specifically through ui.invalidate, alongside ui.render and prompt.section."},{"name":"ui.message","slug":"ui-message","description":"Plugins can now draw their own interactive UI elements ('Clients') directly in the terminal"},{"name":"ui.mount","slug":"ui-mount","description":"Plugin test engine used by `claude plugin test` gains a UI-render test harness with mount\/act\/release methods"},{"name":"ui.notify","slug":"ui-notify","description":"Plugins gain a `ui.notify` operation for posting notifications, and each notification's screen time is now budgeted and saved"}],"url":"https:\/\/changelogs.core-directive.com\/reference\/setting\/ui-log","family_url":"https:\/\/changelogs.core-directive.com\/reference\/setting.json"}