← All briefs
Matins
20 changes / 4 actionable / 2 deep dives
Claude Code
  • Security fix: bare env-var assignments bypassed the permission prompt. Commands like SECRET=value to non-allowlisted variables were auto-approved; that hole is now closed, so expect prompts where you previously didn't get them.
  • claude agents --json lets you script against live sessions. Feed it to tmux-resurrect, status bars, or custom session pickers to build automation around your agent fleet.
  • Read tool now returns a truncated first page instead of a hard error on oversized files. If your workflows hit "file too large" errors on whole-file reads, those now degrade gracefully to a partial view with a notice (more below).
  • Stop and SubagentStop hooks now carry background_tasks and session_crons. If you have hooks on these events, you can now see what background work and scheduled jobs are active when a turn ends (more below).

New in 2.1.145

2.1.145 (May 20, 2026)

  • Added claude agents --json to list live Claude sessions as JSON for scripting (tmux-resurrect, status bars, session pickers)
  • Added agent_id and parent_agent_id attributes to claude_code.tool OTEL spans, and fixed trace parenting so background subagent spans nest under the dispatching Agent tool span
  • Status line JSON input now includes GitHub repo and PR information when detected
  • /plugin Discover and Browse screens now show a plugin's commands, agents, skills, hooks, and MCP/LSP servers before installation
  • claude agents terminal tab title now shows the awaiting-input count so an alt-tabbed window tells you when an agent needs attention
  • Slash command and @-mention suggestion list now supports mouse hover and click in fullscreen mode
  • Stop and SubagentStop hook input now includes background_tasks and session_crons fields
  • Fixed a permission-prompt bypass where bare variable assignments to non-allowlisted environment variables in Bash commands were auto-approved
  • Fixed MCP prompt slash commands showing raw server validation errors when a required argument is omitted
  • Fixed the spinner and elapsed-time display freezing until a keypress after the terminal was resized or refocused
  • Fixed the cross-project resume hint failing in default Windows PowerShell 5.1
  • Fixed voice push-to-talk not working in the agent view's reply pane
  • Fixed task lists rendering in random order when several tasks are created at once
  • Fixed stale "Failed to install Anthropic marketplace" banner showing when the marketplace is already installed
  • Fixed the PR badge in the footer not updating immediately after gh pr create and other PR-state-changing commands run in-session
  • Fixed Agent Teams teammates with non-ASCII names failing every API call due to invalid header encoding
  • Fixed /review using a deprecated projectCards GraphQL query that errored on repos with Classic Projects
  • Fixed claude plugin validate not flagging skills: entries that point at a file instead of a directory
  • Fixed an infinite loop where a skill using context: fork could repeatedly re-invoke itself instead of running
  • Improved the Read tool to return a truncated first page with a "PARTIAL view" notice instead of a hard error when a whole-file read exceeds the token limit

Notes

The Read tool change is subtle but shifts how large-file workflows behave. Previously, attempting a whole-file read on a file exceeding the token limit produced a hard error, forcing the model to retry with offset/limit parameters. Now you get the first page automatically with a "PARTIAL view" banner. This is the more graceful default, but if you had hooks or automation that keyed on the error to trigger a different read strategy, the trigger condition has changed.

Stop/SubagentStop hooks now expose the full picture of in-flight work. The background_tasks and session_crons fields complete a gap that opened when /loop (2.1.139) and background shells started running alongside the main turn. Before 2.1.145, a Stop hook could not distinguish "Claude finished and nothing else is running" from "Claude finished but three background jobs are still going." If you use Stop hooks for cleanup, logging, or notifications, the new fields let you condition on whether the session is truly idle.