claudekit / updates / claude-code-2-1-149
[ PATCH · ]

Claude Code 2.1.149

`/usage` now breaks limit consumption down by skills, subagents, plugins, and per-MCP-server cost. The `/diff` detail view is keyboard-scrollable, markdown output renders GFM task lists as checkboxes, and enterprise gets the new `allowAllClaudeAiMcps` managed setting. Four permission-model gaps are closed, along with `find` exhausting the macOS file/vnode table and a wide bug-fix sweep across the transcript view, `/feedback`, `/insights`, `/config`, and the status bar.

Official announcement →

This article is a summary based on official documentation.

What changed

Claude Code 2.1.149 shipped on May 22, 2026. On observability, /usage now breaks down limit consumption by skills, subagents, plugins, and per-MCP-server cost; the /diff detail view is keyboard-scrollable; and markdown output renders GFM task lists as checkboxes. For enterprise, the new allowAllClaudeAiMcps managed setting loads claude.ai cloud MCP connectors alongside managed-mcp.json. On security and permissions, four gaps are closed: PowerShell built-in cd functions bypassing working-directory tracking, the sandbox write allowlist in git worktrees being far too broad, PowerShell prefix/wildcard allow rules not pre-approving native executables, and stale PWD/OLDPWD/DIRSTACK tracking across cd/pushd/popd. The rest is a find-induced macOS host crash fix, /ultraplan and remote session false-fails on clean trees, otelHeadersHelper silent failures on spaced paths, and a wide bug-fix sweep across the transcript view, /feedback, /insights, /config, the status bar, and fullscreen UI.

New features

  • /usage per-category breakdown of what’s driving your limits usage

    /usage showed how much of your limit remained but didn’t say what was driving it. The breakdown now splits consumption by skills, subagents, plugins, and per-MCP-server cost.

  • Keyboard scrolling in the /diff detail view

    The /diff detail view depended on the terminal’s own scrolling or a mouse. It now scrolls with arrow keys, j/k, PgUp/PgDn, Space, and Home/End.

  • GFM task list checkbox rendering in markdown output

    - [ ] todo and - [x] done rendered as plain bullets, so checked and unchecked items looked the same. Markdown output now renders GitHub Flavored Markdown task lists as checkboxes.

  • Enterprise: allowAllClaudeAiMcps managed setting

    Enterprise deployments either restrict MCP connectors to managed-mcp.json or want to allow claude.ai cloud connectors alongside it. The new allowAllClaudeAiMcps managed setting loads claude.ai cloud MCP connectors alongside managed-mcp.json.

Improvements

  • /feedback reports now include the conversation before context compaction

    In long sessions where context compaction had already run, /feedback reports only contained the post-compaction tail, making issues from earlier in the session hard to triage. Reports now include the conversation that happened before context compaction.

Bug fixes

Security & permissions

  • PowerShell permission bypass via built-in cd functions — cd.., cd\\, cd~, and X: changed the working directory undetected, letting a later command read outside the workspace. These built-ins are now tracked so the bypass is closed.
  • Sandbox write allowlist in git worktrees covering the entire main repository root instead of only the shared .git directory — the allowlist is now scoped to the shared .git directory, with hooks/ and config denied.
  • PowerShell prefix/wildcard allow rules (e.g. PowerShell(dotnet.exe build *)) not pre-approving native executables and scripts — the rules now match as intended and pre-approve them.
  • Permission-analysis gap where the parser trusted stale variable-tracking values for PWD/OLDPWD/DIRSTACK across cd/pushd/popd — variable tracking is now kept in sync with command flow.

Stability & diagnostics

  • find in the Bash tool exhausting the macOS system file/vnode table and crashing the host on large directory trees — resource usage is bounded so the host is not affected.
  • Managed-settings approval dialog leaving the terminal frozen after accepting at startup — fixed.
  • /ultraplan and remote session creation failing with “Could not capture uncommitted changes” when the working tree has no real changes — clean trees are now allowed through.
  • otelHeadersHelper failing silently when the script path contains spaces — helper failures are now reported in /doctor and the debug log.

Transcript, /feedback, /insights

  • Ctrl+O transcript view freezing at the moment it was opened instead of tailing new messages — it now tails new messages as expected.
  • /insights crashing when cached session-meta files are missing optional fields — missing fields are tolerated.
  • Malformed PowerShell and History tool calls with missing input being misclassified as reads in transcript collapsing — they are now categorized correctly.

Slash commands, autocomplete, status bar

  • Slash-command argument-hint clipping trailing typed characters when the hint overflows the input box — the hint is truncated instead of the user’s input.
  • Argument-hint and progressive arg suggestions not appearing after Tab-completing a skill whose frontmatter name: differs from its directory basename — suggestions now appear using the skill name.
  • Status bar showing the user’s baseline /effort setting instead of the effort level applied by skill/agent effort: frontmatter — the applied effort level is shown.
  • /config exit summary reporting phantom changes to auto-compact and theme when toggling unrelated settings — only actually-changed settings are reported.

Input & history

  • Editing a recalled prompt-history entry losing the edit when navigating further up/down with arrow keys — edits are preserved.
  • Race where a just-submitted prompt could appear twice in the up-arrow history — recorded once.

Terminal & UI

  • Thinking spinner staying amber across tool calls and onto fresh thinking bursts — the color now updates to match state.
  • Collapsed Bash output reporting the wrong hidden-line count for outputs with many short lines — the count is now accurate.
  • Tapping the “Jump to bottom” pill in fullscreen mode not dismissing it immediately — it now dismisses immediately.

Remote control

  • Renaming a Remote Control session from claude.ai or the Claude mobile app not updating the local session name for claude --resume — renames now propagate to the local session list.

Notes

  • /usage per-category breakdown: limit consumption is split out at a glance, which is useful for cost analysis and internal reporting. Per-MCP-server cost as its own line item is the biggest visibility change.
  • Four permission patches in one release: PowerShell cd bypass, git-worktree write allowlist scope, PowerShell prefix/wildcard allow rules, and stale PWD/OLDPWD/DIRSTACK tracking all touch the permission model. Organizations that rely on plan/auto mode and allow rules for workspace boundaries should upgrade promptly.
  • allowAllClaudeAiMcps is an enterprise managed setting: it isn’t a user-level toggle. Turning it on loads claude.ai cloud MCP connectors alongside managed-mcp.json, so verify the cloud connectors are consistent with your data policy before enabling.
  • macOS find host crashes addressed: large directory trees could exhaust the macOS file/vnode table and take down the host when running find through the Bash tool. Workarounds shouldn’t be needed after this release.
  • /ultraplan and remote session false-fails cleared: failures with “Could not capture uncommitted changes” on clean working trees are resolved, so CI or automation flows calling /ultraplan are worth retrying.
  • /feedback scope expanded: the report now includes pre-compaction conversation, which makes feedback from long sessions more actionable.