{"version":"2.1.274","anchor":"mcp-tool-call-plumbing-refactored-no-clear-behavior-change","canonical_anchor":"mcp-tool-call-plumbing-refactored-no-clear-behavior-change","heading":"MCP tool-call 'awaiting user input' handling consolidated into one function","tier":"internal","area":"MCP","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.274\/e\/mcp-tool-call-plumbing-refactored-no-clear-behavior-change","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.274","markdown":"### MCP tool-call 'awaiting user input' handling consolidated into one function\n\nInternal cleanup consolidates the MCP tool-call awaiting-user-input logic into one shared function, with no user-visible behavior change\n\n**Unclear.** Whether this refactor has any subtle behavioral effect beyond code reorganization is not established by the evidence.\n\n**What**\n\nThe code that handles an MCP (Model Context Protocol) tool call that is waiting on user input was restructured. The `onAwaitingUserInput` callback, which starts and stops a background-eligibility timer while a tool call is paused waiting for the user, used to be written inline for each call path. It is now pulled out into a single standalone function that both the retry path and the pending-elicitation background-task path reuse. Several internal helper names were also renamed as part of the cleanup.\n\n**Why**\n\nThis is an internal code-quality change with no identified effect on behavior; it just reduces duplication in how Claude Code tracks tool calls that are waiting on user input.\n\n- Area: MCP\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 0\/5"}