{"version":"2.1.311","anchor":"shell-command-cpu-time-telemetry-from-proc-and-cgroup-cpuac","canonical_anchor":"shell-command-cpu-time-telemetry-from-proc-and-cgroup-cpuac","heading":"Claude Code now measures CPU time for shell commands in more ways","tier":"internal","area":"Telemetry","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311\/e\/shell-command-cpu-time-telemetry-from-proc-and-cgroup-cpuac","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311","markdown":"### Claude Code now measures CPU time for shell commands in more ways\n\nClaude Code can now read a shell command's CPU time from the whole process tree, the command's own process and the cgroup, and drops the figure if a read fails\n\n**What**\n\nClaude Code already read CPU time from the cgroup file `cpuacct.usage`. A cgroup is a Linux feature that groups processes and tracks the resources they use. When Claude Code runs a shell command through its Bash tool, it can now also measure the CPU time that command used in these ways:\n\n- The command's own process, using figures the system reports for it. This is skipped on Windows.\n\n- Every process the command started, by adding up the counts in `\/proc\/<pid>\/stat`. `\/proc` is a Linux folder that describes running processes.\n\n- The cgroup file `cpuacct.usage`.\n\nThe Bash tool is how Claude runs commands in your terminal. If any of these readings fails or takes too long, Claude Code logs it and leaves the CPU figure out. The command itself runs exactly as before.\n\n**Why**\n\nShell commands on Linux get a CPU measurement from more sources. A failed measurement never affects the command you asked for.\n\n- Area: Telemetry\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}