{"version":"2.1.315","anchor":"bash-tool-new-background-shell-settle-event-output-end-pre","canonical_anchor":"bash-tool-new-background-shell-settle-event-output-end-pre","heading":"Bash tool: output-end and out-of-memory notes for Claude, test outcomes and program lists in analytics","tier":"notice","area":"Bash Tool","scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.315\/e\/bash-tool-new-background-shell-settle-event-output-end-pre","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.315","markdown":"### Bash tool: output-end and out-of-memory notes for Claude, test outcomes and program lists in analytics\n\nAfter failed or killed commands the Bash tool can now show Claude the output's end and memory-kill notes, and analytics record programs and test results\n\n**Unclear.** It is not stated what decides whether the end-of-output and out-of-memory notes are switched on.\n\n**What**\n\nThe Bash tool is the tool Claude uses to run shell commands. Several connected changes affect what it reports after a command runs:\n\n- When a command fails, the end of its output can be re-attached to what Claude sees, and notes can be added to the command's error output (stderr).\n\n- A command's result can now carry `memoryLimitNote`, which says the system killed a process because it ran out of memory.\n\n- A result can carry `triggeredNote`, a piece of advice set by a rule from a server-side feature flag.\n\n- A result can carry `stdoutHoldsOutputEnd`, which marks output that was shortened by leaving out the middle.\n\n- These notes apply only to commands Claude runs in the main session. They do not apply to subagents (helper agents Claude starts), remote sessions or commands you type yourself, and some of these paths sit behind internal checks that were not traced.\n\n- Claude Code now reads the output of test runners, including pytest, unittest, jest, vitest, mocha, go, cargo, maven and ctest, and classifies a run as passed, failed or unknown.\n\n- Bash analytics now record which programs a command runs (`bash_programs`, which is a list, `none` or `incomplete`), the scope of a test run (`bash_test_scope`) and its result (`bash_test_outcome`).\n\n- Success and failure records also gain `output_end_shown`, `triggered_note_rule`, `triggered_note_shown`, `oom_kill_during_command`, `oom_kill_note_shown` and `reads_own_output`.\n\n- A new analytics record is sent when a background command settles, with CPU and memory-group (cgroup) use, outcome, stop cause, `bash_command_kinds`, programs, test scope and test outcome.\n\n- The Read tool's analytics also gain `reads_own_output`.\n\nThe Bash tool's description, the text that tells Claude how to use it, is unchanged in the capture taken under this release.\n\n**Why**\n\nAfter a failed or killed command, Claude may now be told how the output ended and whether memory ran out, so it has more to go on before trying again. The analytics changes record what commands run and how tests turn out, and do not change what you see on screen.\n\n- Area: Bash Tool\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: both\n- Heads-up: no"}