{"name":"turn.start","slug":"turn-start","family":"setting","title":"Settings keys","noun":"settings key","description":"Plugin hooks are limited in what they may rewrite, and cannot take over question prompts.","description_source":"entry","described_by":{"version":"2.1.242","anchor":"each-hook-event-enforces-what-a-plugin-is-allowed-to-change"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.319","builds":0,"mined_builds":159,"first_cited":{"version":"2.1.246","released_at":"2026-08-25 19:17:34","spans":1}},"aliases":[],"entries":[{"version":"2.1.299","anchor":"hook-turnstart-now-counted-when-deciding-whether-hooks-are","heading":"Plugin hooks on turn start now count when Claude Code checks for turn hooks","line":"A plugin hook listening for the start of a turn now counts as an active turn hook, alongside the step and complete hooks","released_at":"2026-10-14 00:23:19","reason":"found in this entry's text, named in this entry"},{"version":"2.1.271","anchor":"turn-scoped-tracking-for-plugin-originated-prompt-submission","heading":"Turn-scoped tracking for plugin-originated prompt submissions","line":"Prompts submitted by plugins are now tracked against the current conversation turn","released_at":"2026-09-14 19:45:19","reason":"found in this entry's text"},{"version":"2.1.265","anchor":"hook-registry-gains-commanddescribe-as-a-core-hook-event","heading":"Hook registry gains command.describe as a core hook event","line":"Claude Code adds a new internal hook event called command.describe","released_at":"2026-09-08 19:05:16","reason":"found in this entry's text"},{"version":"2.1.260","anchor":"turn-lifecycle-event-hooks-added-to-session-loop","heading":"Turn-lifecycle event hooks added to session loop","line":"The session loop now emits turn-start and turn-step lifecycle markers.","released_at":"2026-09-03 22:32:02","reason":"named in this entry, found in this entry's text"},{"version":"2.1.246","anchor":"plugins-can-abort-the-current-turn-with-turn-abort","heading":"Plugins can abort the current turn with $.turn.abort","line":"Plugins get a new turn object whose abort verb ends the running turn with its own interrupt wording.","released_at":"2026-08-25 19:17:34","reason":"found in this entry's text"},{"version":"2.1.242","anchor":"each-hook-event-enforces-what-a-plugin-is-allowed-to-change","heading":"Each hook event enforces what a plugin is allowed to change","line":"Plugin hooks are limited in what they may rewrite, and cannot take over question prompts.","released_at":"2026-08-24 19:16:14","reason":"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"},{"version":"2.1.242","anchor":"turns-emit-start-and-complete-events-and-a-plugin-can-append","heading":"Turns emit start and complete events, and a plugin can append to the final answer","line":"Each turn now emits start and complete events a plugin module can hook and append text to.","released_at":"2026-08-24 19:16:14","reason":"found in this entry's text"}],"entries_total":8,"docs":[{"source":"claude-code","path":"changelog","title":"Claude Code changelog","documented":false},{"source":"claude-code","path":"plugins\/mods\/events","title":"React to events with a mod","documented":false},{"source":"claude-code","path":"plugins\/mods\/interface","title":"Draw in the interface with a mod","documented":false},{"source":"claude-code","path":"plugins\/mods\/reference","title":"Mods reference","documented":false},{"source":"claude-code","path":"plugins\/mods\/test","title":"Test a mod","documented":false}],"docs_total":5,"gates":[],"related":[{"name":"turn.complete","slug":"turn-complete","description":"Plugin hooks are limited in what they may rewrite, and cannot take over question prompts."},{"name":"turn.step","slug":"turn-step","description":"Plugin hooks are limited in what they may rewrite, and cannot take over question prompts."},{"name":"turnAttribution","slug":"turnattribution","description":"Task notifications can now say which conversational turn they belong to via a turn-attribution option."},{"name":"turnBriefTailChars","slug":"turnbrieftailchars","description":"Background classifier gets a new, currently inactive setting to control how much recent conversation text it quotes"},{"name":"turnEffort","slug":"turneffort","description":"The effort label in your status line stays correct when the model changes mid-turn."},{"name":"turnOrigin","slug":"turnorigin","description":"Resuming a session now also checks and strips invalid turnOrigin values from user messages"}],"url":"https:\/\/changelogs.core-directive.com\/reference\/setting\/turn-start","family_url":"https:\/\/changelogs.core-directive.com\/reference\/setting.json"}