{"version":"2.1.311","anchor":"bash-tool-shell-usage-telemetry-wall-time-cpu-and-process","canonical_anchor":"bash-tool-shell-usage-telemetry-wall-time-cpu-and-process","heading":"Bash commands now record wall time and CPU usage","tier":"notice","area":"Bash","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311\/e\/bash-tool-shell-usage-telemetry-wall-time-cpu-and-process","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311","markdown":"### Bash commands now record wall time and CPU usage\n\nEach Bash tool command now measures elapsed time and CPU time, including for its subprocesses, and attaches the figures to its result\n\n**What**\n\nThe Bash tool runs shell commands for Claude. It now measures how much time and processor work each command used:\n\n- Measuring: building a command now returns a `cpuAccountJoin` value, and the started process receives `cpuTime`, `procCpuTime` and `cpuAccountWindow` options. The shell command itself receives a `startedAt` and `cpuTime` option.\n\n- Result figures: when a command exits, its result gets a `shellUsage` record with `wallMs` (elapsed time), `cpu` (including whether a process was left running), `procCpuMs` and `cpuAccount`.\n\n- Only with a process id: the record is built only when the command has a process id.\n\n**Why**\n\nThis adds resource accounting to each shell command's result. It looks like measurement for tracking. Nothing in the findings shows a change in what you see.\n\n- Area: Bash\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}