{"version":"2.1.281","anchor":"deferred-tool-timing-state-and-withdrawn-tool-check","canonical_anchor":"deferred-tool-timing-state-and-withdrawn-tool-check","heading":"Deferred-tool timing state and withdrawn-tool check","tier":"internal","area":"Tools","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/deferred-tool-timing-state-and-withdrawn-tool-check","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Deferred-tool timing state and withdrawn-tool check\n\nClaude Code now tracks timing for deferred tools and can check whether a tool was withdrawn\n\n**Unclear.** The finding does not say what the timing data or the withdrawn-tool check is used for.\n\n**What**\n\nTools are the actions Claude can take, such as reading a file or running a command. Some tools are \"deferred\", meaning they are added to a session later instead of at the start. New internal bookkeeping records:\n\n- `totalMs`, `firstStartMs` and `lastDeferredStartMs`: timings for those deferred tools\n\n- `deferredAddedNames`: which tools were added later\n\n- a check for whether a tool was withdrawn (`withdrawnThisLife`) or already exists under a given name\n\n- `noChannelTools`: a new field in the record of declared tools\n\n**Why**\n\nThis is internal record-keeping. The finding does not show a visible change for users.\n\n- Area: Tools\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5"}