Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
TelemetryArea: what it touches
Internal ChangesKind: in v2.1.261,
Internal ChangesSection of the release
When the environment sets CLAUDE_CODE_REMOTE and the active transport is the remote/websocket-style transport class, Claude Code now reads the process's cgroup cpuacct usage file (/sys/fs/cgroup/cpuacct${d}/cpuacct.usage, located via /proc/self/cgroup) and compares it against process.cpuUsage() to split CPU time into CLI versus tool-subprocess buckets per session-state phase. This emits tengu_tool_cpu_by_phase telemetry, with fields like <phase>_wall_ms, <phase>_cli_cpu_ms, and <phase>_tools_cpu_ms, on state transitions (idle, idle_background, active, exit) and at exit, also stamping the event with the raw value of CLAUDE_CODE_BG_TASKS_REPORT_RUNNING. The instrumentation is skipped entirely unless CLAUDE_CODE_REMOTE is set.