{"version":"2.1.281","anchor":"session-start-gains-takeclaimsessionstarthooks-sdkmcpserve","canonical_anchor":"session-start-gains-takeclaimsessionstarthooks-sdkmcpserve","heading":"Session start gains takeClaimSessionStartHooks \/ sdkMcpServersPending \/ noteSdkEntryWait hooks","tier":null,"area":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/session-start-gains-takeclaimsessionstarthooks-sdkmcpserve","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Session start gains takeClaimSessionStartHooks \/ sdkMcpServersPending \/ noteSdkEntryWait hooks\n\nSDK and print sessions can now hold back SessionStart hooks and wait for SDK MCP servers that are still starting\n\n**Unclear.** The finding does not say how long the session waits or exactly when the held-back hooks run.\n\n**What**\n\nWhen another program runs Claude Code through the SDK (the kit for driving Claude Code from code), or in print mode (a single request that prints the answer and exits), the session runner gains new steps at startup. These steps are active:\n\n- `takeClaimSessionStartHooks`: holds back `SessionStart` hooks, the scripts you configure to run when a session begins or resumes.\n\n- `sdkMcpServersPending`: waits for MCP servers supplied through the SDK that are not ready yet. An MCP server is an add-on that gives Claude extra tools.\n\n- `noteSdkEntryWait`: records that the session waited at startup.\n\n**Why**\n\nIf you run Claude Code from the SDK with your own MCP servers or `SessionStart` hooks, startup now waits for those servers and runs the hooks later. Your hooks may therefore fire at a slightly different moment than before."}