What changed
Claude Code 2.1.145 shipped on May 19, 2026. The additions are scripting- and observability-oriented: claude agents --json exposes live sessions as structured JSON, claude_code.tool OTEL spans now carry agent_id and parent_agent_id with corrected trace parenting, the status line JSON input now carries detected GitHub repo and PR information, /plugin Discover and Browse show a plugin’s commands, agents, skills, hooks, and MCP/LSP servers before install, and Stop / SubagentStop hook input includes new background_tasks and session_crons fields. The rest of the release closes a permission-prompt bypass in Bash, cleans up MCP slash command validation errors, fixes terminal, /plugin, and claude agents rendering issues, restores deterministic task list ordering, handles non-ASCII Agent Teams headers, and resolves an infinite-loop case in skills using context: fork. The Read tool also gains a PARTIAL view fallback when a whole-file read exceeds the token limit.
New features
-
claude agents --json— list live Claude sessions as JSON for scriptingLive sessions were only visible through the interactive picker, so tools like tmux-resurrect, status bars, and session pickers had no structured way to read session state.
claude agents --jsonnow emits the live session list as JSON for scripts to consume. -
agent_idandparent_agent_idattributes onclaude_code.toolOTEL spans, with corrected trace parentingBackground subagent spans did not nest under the dispatching Agent tool span, so traces lost the parent-child relationship between caller and callee. This release adds
agent_idandparent_agent_idattributes and fixes 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
Detected GitHub repo and PR context wasn’t passed to status line JSON input, so custom status lines had to collect the same information separately. The status line JSON input now includes the detected GitHub repo and PR information.
-
/pluginDiscover and Browse — show commands, agents, skills, hooks, and MCP/LSP servers before installationBefore this release, the contents of a plugin (commands, agents, skills, hooks, MCP/LSP servers) only became visible after install. Discover and Browse now show those entries up front so the install decision is made with full visibility.
-
Stop and SubagentStop hook input now includes
background_tasksandsession_cronsfieldsStop / SubagentStop hook input lacked the context needed to reason about lingering background work, so hooks had no built-in signal for live background tasks or session crons. Hook input now includes
background_tasksandsession_cronsfields.
Improvements
-
claude agentsterminal tab title now shows the awaiting-input countWhen the tab was in the background, identifying which agent needed input required switching to it. The 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 supports mouse hover and click in fullscreen mode
In fullscreen mode the suggestion list was keyboard-only — mouse hover and click did nothing. Both are now supported.
-
Read tool returns a truncated first page with a “PARTIAL view” notice instead of a hard error when a whole-file read exceeds the token limit
A whole-file read that exceeded the token limit returned a hard error, which broke the calling turn and required a separate split-read attempt. The Read tool now returns a truncated first page with a “PARTIAL view” notice, so follow-up reads can continue naturally.
Bug fixes
Security
- Permission-prompt bypass where bare variable assignments to non-allowlisted environment variables in Bash commands were auto-approved — the permission prompt is now shown as expected.
MCP, plugins & skills
- MCP prompt slash commands showing raw server validation errors when a required argument is omitted — the error now names the missing argument and shows expected usage.
claude plugin validatenot flaggingskills:entries that point at a file instead of a directory — now flagged, with a suggestion to use the parent directory.- Infinite loop where a skill using
context: forkcould repeatedly re-invoke itself instead of running — fixed.
Terminal & UI
- Spinner and elapsed-time display freezing until a keypress after the terminal was resized or refocused — display updates resume immediately.
- 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 — ordering is now consistent.
- Stale “Failed to install Anthropic marketplace” banner shown when the marketplace is already installed — fixed.
Windows & platform
- Cross-project resume hint failing in default Windows PowerShell 5.1 — Windows now uses
;as the command separator.
Git / PR & /review
- PR badge in the footer not updating immediately after
gh pr createand other PR-state-changing commands run in-session — now updates immediately. /reviewusing a deprecatedprojectCardsGraphQL query that errored on repos with Classic Projects — fixed.
Agent Teams & API
- Agent Teams teammates with non-ASCII names failing every API call due to invalid header encoding — headers are now encoded correctly so API calls succeed.
Notes
- Bash bare-assignment bypass closed: bare variable assignments to non-allowlisted environment variables in Bash commands no longer slip past the permission prompt. Scripts that relied on the implicit auto-approval need to allow those variables explicitly in the permission policy.
claude agents --json: a new script-facing surface for live session state. Useful for tmux-resurrect, status bars, and session pickers that previously had to scrape the interactive picker.- OTEL trace parenting restored: if background subagent traces were previously detached from the dispatching Agent tool span, they now nest correctly under it, so trace analysis lines up with the actual call structure.
/plugincontent preview pre-install: Discover and Browse expose a plugin’s commands, agents, skills, hooks, and MCP/LSP servers before install, so evaluation no longer requires installing first.- Read tool PARTIAL view: whole-file reads exceeding the token limit no longer fail the turn — they return a truncated first page with a “PARTIAL view” notice, reducing the need to pre-split large files defensively.