{"version":"2.1.323","anchor":"subprocess-env-hardened-for-ps-and-process-name-lookups","canonical_anchor":"subprocess-env-hardened-for-ps-and-process-name-lookups","heading":"Process listing no longer hangs and runs with a clean environment","tier":"notice","area":"Process Control","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323\/e\/subprocess-env-hardened-for-ps-and-process-name-lookups","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.323","markdown":"### Process listing no longer hangs and runs with a clean environment\n\nClaude Code's process-listing commands now run with a cleaned-up environment and a time limit, and are force-stopped if they take too long\n\n**What**\n\nClaude Code sometimes runs the system's `ps` command to list running programs and look up a program's name. These calls changed in three ways:\n\n- `ps` now runs with a cleaned-up set of environment variables (the background settings a program inherits), a time limit, and a forced stop if it runs past that limit.\n\n- The program-name lookup now gets its own environment set to `LC_ALL=C` (plain, language-neutral output) and `TZ=UTC` (a fixed time zone), and it no longer inherits the rest of your environment.\n\n- If a `ps` call is stopped partway, Claude Code keeps only the complete lines of output it received and drops the cut-off last line.\n\nBefore, these calls used a fixed block of environment values and `ps` had no time limit.\n\n**Why**\n\nA slow or stuck `ps` can no longer make Claude Code hang, and your own environment variables are no longer passed into these lookups.\n\n- Area: Process Control\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}