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

Claude Code 2.1.144

Added `/resume` support for background sessions (marked `bg` in the picker). `/model` now changes the current session only — press `d` in the model picker for the new-session default. Renamed "extra usage" to "usage credits" (`/extra-usage` → `/usage-credits`, old name still works). 50+ bug fixes including startup hanging up to 75s on unreachable `api.anthropic.com`, garbled terminal output after window resize, `/model` changes not applying after startup, MCP `tools/list` pagination returning only the first page, and a regression where the Skill tool failed in headless mode.

Official announcement →

This article is a summary based on official documentation.

What changed

Claude Code 2.1.144 shipped on May 19, 2026. The new-feature surface is small and workflow-oriented: background sessions are pulled into the /resume picker (marked bg), background subagent completion notifications now include elapsed duration, /plugin browse and discover panes show last-updated timestamps, /model is split into a session-only change with d for a separate default, and extra usage is renamed usage credits (/extra-usage/usage-credits, old name still works). The rest of the release is a 50+ bug-fix sweep concentrated on startup hangs, terminal rendering corruption, /model regressions, MCP tools/list pagination, headless Skill execution, and background-session stability — including regressions introduced in v2.1.129, v2.1.141, and v2.1.143.

New features

  • /resume support for background sessions — surfaced in the same picker, marked bg

    Sessions started via claude --bg or agent view did not appear in /resume, so resuming them required separate tooling. They now show up alongside interactive sessions in the /resume picker, marked bg.

  • Elapsed duration on background subagent completion notifications

    Completion notifications only signaled “done” without a duration, so judging how long a run took required a separate look. The notification now reads “Agent completed · 3h 2m 5s” with the elapsed time inline.

  • /plugin browse and discover panes show when a plugin was last updated

    There was no in-picker signal for plugin recency, so users had to leave Claude Code to check whether a plugin was being maintained. Both panes now display each plugin’s last-updated timestamp.

  • /model now changes the current session only; press d in the model picker to set a default for new sessions

    /model previously changed both the current session and the default for new sessions, so a one-off switch could quietly become permanent. The current-session change is now scoped to the active session, and setting a new-session default requires pressing d in the model picker.

  • Renamed “extra usage” to “usage credits” across CLI copy

    CLI copy referred to “extra usage”, which didn’t line up well with billing terminology. The label is now “usage credits” throughout, and /extra-usage is now /usage-credits. The old slash command name still works.

Improvements

  • Pre-response stream stall recovery — retries streaming once instead of falling back

    A rare stall before the first response token used to fall back to a slower non-streaming request immediately, even when a retry would have recovered. The client now retries streaming once before falling back.

  • SDK / headless MCP startup — pre-wait overlaps startup

    The MCP pre-wait used to run sequentially before the first turn, so a slow MCP server delayed the whole start. Pre-wait now overlaps startup, up to about 2 seconds faster with slow MCP servers.

  • Post-survey follow-up hint shown on every non-dismiss response with context-aware copy

    The follow-up hint pointing to /feedback only appeared on some survey responses, so the path for adding detail was inconsistent. It now appears on every non-dismiss response, with copy tuned to the context.

Bug fixes

Startup & connectivity

  • Startup hanging up to 75s when api.anthropic.com is unreachable (captive portal, firewall, VPN) — side-channel API calls now time out after 15s.
  • macOS background sessions crashing with “exit 1 before init” when the project lives under a Full Disk Access-protected folder — regression in v2.1.143, fixed.
  • Remote-session login failing with “Can’t access this organization” for users with forceLoginMethod and forceLoginOrgUUID set — login completes correctly.

Terminal rendering

  • Garbled terminal output after a missed window-resize event — e.g. dragging a VS Code split-pane divider. The display now self-heals on the next frame instead of requiring Ctrl+L.
  • Progressive terminal display corruption (stale / garbled glyphs) in very long sessions — used to clear only on terminal resize or restart, now resolved during the session.
  • Spinner animation glitches in VS Code — reduced by lowering the spinner’s color count.
  • Scrolling in attached background sessions on Windows — PgUp/PgDn, mouse wheel, and Ctrl+O transcript navigation now work.
  • Ghost characters at the left edge when switching panes in Agent View on Windows Terminal with CJK content — fixed.

/model behavior & regressions

  • Model selection not applying when changed via the IDE model picker or applyFlagSettings after startup — selection now applies.
  • Resumed sessions picking up another session’s /model choice — resumed sessions now keep their own model.
  • Bedrock and Vertex users unable to select “Opus (1M context)” from the /model picker — regression in v2.1.129, fixed.

Files, search & /branch

  • Unrecoverable conversation when reading a file whose image extension doesn’t match its contents — e.g. HTML saved as .png. Now falls back to text.
  • head / tail views not satisfying the read-before-edit check — they now do, eliminating spurious blocked-edit errors.
  • “No matches” results (exit code 1) from egrep, fgrep, git grep, or git diff reported as command failures — now treated as empty results.
  • /branch failing with “No conversation to branch” after entering a worktree or in some background sessions — fixed.
  • Pressing Escape in the AskUserQuestion notes field aborting the turn — now returns to answer selection.

MCP

  • MCP servers with paginated tools/list responses only returning the first page, silently dropping tools — all pages are now retrieved.
  • MCP images with unsupported MIME types (e.g. SVG) breaking the conversation — now saved to disk and referenced in the tool result.
  • claude mcp list silently reporting no servers when .mcp.json can’t be parsed — e.g. using VS Code’s "servers" key instead of "mcpServers". Now surfaces the configuration error.
  • Background side-queries on custom ANTHROPIC_BASE_URL setups and Bedrock Mantle not using Haiku — now falls back correctly when a first-party API key is configured or no Haiku model is set.

Headless, Skill & Plugin

  • Skill tool failing with a permission error in headless mode — regression in v2.1.141, fixed.
  • File descriptor exhaustion when a build runs inside a skill directory — non-.md files no longer trigger skill reloads.
  • Session title being generated from plugin monitor output instead of the user’s first prompt — title now derives from the prompt.
  • Plugins enabled in your own settings showing “not cached” errors after first load on a fresh machine — fixed. Plugins enabled only by a project’s .claude/settings.json now show an actionable claude plugin install hint.
  • Plugin marketplace add / update not respecting CLAUDE_CODE_PLUGIN_PREFER_HTTPS — now respected.
  • /plugin not returning to the Installed list after enabling, disabling, or uninstalling a plugin — now returns to Installed.

Background sessions & claude agents

  • Crash when closing the terminal while attached to a background session — fixed.
  • ! <cmd> exec sessions not responding to Ctrl+C while attached — now interrupts the running command.
  • Agent view shell-command rows lingering under Working after completion; pressing Enter on a completed row re-running the command after its output expired — fixed.
  • On Windows, pressing ← in claude agents leaving the list unresponsive to keyboard input — fixed.
  • /bg and -detach now preserve directories added via /add-dir — added.
  • Edit / Write refusing with “background session hasn’t isolated its changes yet” right after detaching a session that was already editing in place — fixed.
  • claude respawn <id> on a stopped background session showing “stopped” instead of running — now runs.
  • /resume picker not showing sessions forked from a background session — now shown.
  • Opening a session from claude agents or running claude logs <id> hanging when the background service is unresponsive — now times out after 10s with a recovery hint.
  • Background Bash tasks spawned by subagents staying “Running” in SDK task panels after the process exits — fixed.
  • Completed or stopped background sessions briefly failing to wake being permanently marked as a startup crash — fixed.
  • Markdown links in claude agents attached sessions rendering as plain text — now render as clickable hyperlinks.
  • Custom spinnerVerbs applying to the post-turn duration message — past-tense built-ins like “Worked for 5s” are restored there.
  • claude agents / --bg rejection messages now name the specific gate (non-TTY, env var, or setting) instead of a generic message — added.
  • claude --bg --name <label> now echoes the name in the post-spawn confirmation — added.
  • claude agents: renaming a background session with Ctrl+R now updates the attached session’s banner immediately — added.
  • Background session worktree isolation guard now applies for non-git VCS users with WorktreeCreate hooks configured — added.
  • /doctor now shows an exec-form example when a command hook is missing the command field — added.
  • Skill-listing truncation is no longer shown as a startup notification — run /doctor for the full breakdown.

Notes

  • /model semantics shift: /model now changes the current session only. To change the default for new sessions, press d in the model picker. The companion regression where post-startup model changes didn’t apply was fixed in this release as well.
  • /extra-usage/usage-credits: the old slash command name continues to work as an alias, so existing scripts and docs referencing /extra-usage aren’t broken.
  • Three regressions resolved: the v2.1.129 Bedrock / Vertex Opus 1M picker, the v2.1.141 headless Skill permission error, and the v2.1.143 macOS Full Disk Access crash are all addressed in this release. Workarounds for any of these can be reverted.
  • MCP tools/list pagination: paginated MCP servers were silently dropping tools beyond the first page until this release. If a server appeared to expose fewer tools than expected, re-check after upgrading.
  • Startup hang shortened: where reaching api.anthropic.com is blocked (captive portals, restrictive networks), startup now falls back within 15 seconds instead of hanging up to 75.