{"version":"2.1.317","anchor":"async-hook-plain-stdout-can-become-sessionstart-context","canonical_anchor":"async-hook-plain-stdout-can-become-sessionstart-context","heading":"Plain output from some background hooks can now become start-of-session context","tier":"notice","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317\/e\/async-hook-plain-stdout-can-become-sessionstart-context","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317","markdown":"### Plain output from some background hooks can now become start-of-session context\n\nSome background hooks that print plain text and succeed now have that text passed to Claude as context when a session starts\n\n**Unclear.** It is not stated which hooks have this behaviour turned on, or whether you can turn it on for your own.\n\n**What**\n\nHooks are actions that Claude Code runs automatically at set points. Async hooks run in the background without making Claude Code wait. Some async hooks can now have their plain printed output passed to Claude when a session starts or resumes, as extra context for the `SessionStart` event.\n\nThis happens when all of these are true:\n\n- The hook has this behaviour turned on.\n\n- The hook finishes without an error.\n\n- Its output is plain text, not JSON (a structured data format).\n\n- It gives no other answer.\n\nLong output is shortened, with a note saying '[The hook printed more than is shown here.]'.\n\nSeparately, when a hook callback fails, Claude Code now shows a warning. If the hook's `onFailure` setting is \"block\", the failure counts as a block.\n\n**Why**\n\nWhat Claude knows at the start of a session can now include text printed by these hooks. Keep that output short and relevant.\n\n- Area: Hooks\n- Names: `SessionStart`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}