by VibecodedThis

Claude Code 2.1.147 and 2.1.148: Pinned Session Upgrades and a Big Windows Fix Pass

Claude Code 2.1.147 shipped May 21 with pinned background session improvements, auto-updater upgrades, and roughly 30 bug fixes including a wide swath of Windows reliability patches. 2.1.148 followed the next day to fix a bash exit code 127 regression.

Share

Anthropic shipped Claude Code v2.1.147 on May 21 and followed up with v2.1.148 on May 22. The second release is a single bug fix for a regression the first one introduced.

Pinned background sessions

The most useful new behavior in 2.1.147 is how pinned background sessions work. You pin a session with Ctrl+T in the claude agents view.

Previously, pinned sessions would eventually die if left idle. In 2.1.147, they stay alive indefinitely. When Claude Code updates itself, pinned sessions restart in place rather than being terminated. Under memory pressure, the runtime now sheds non-pinned sessions first and only touches pinned ones if it has to.

This matters for workflows where you want a persistent long-running session that survives updates and system pressure without losing context. The claude agents view is how you monitor everything running.

Auto-updater improvements

The updater now retries on transient network failures instead of failing hard. When an update does fail, it reports specific error categories and OS error codes — useful for diagnosing what actually went wrong on corporate networks with proxy restrictions. It also displays the current version in the error message, which was missing before.

Diff rendering performance

Diff rendering for large file edits is faster in 2.1.147. No specifics on what changed under the hood, but if you’ve been running long agentic sessions that accumulate large diffs, this should reduce the UI lag during reviews.

Windows fixes

2.1.147 includes a concentrated round of Windows reliability patches:

  • PowerShell tool was failing for winget/Microsoft Store installations of Claude Code
  • “Yes, and don’t ask again” for PowerShell scripts wasn’t creating matching rules correctly
  • PowerShell was dropping output for certain commands
  • Background job worktree removal had an issue following NTFS junctions
  • Full-screen strobing in attached background sessions on Windows Terminal
  • Stale/doubled rows in the agent view list on Windows with CJK (Chinese/Japanese/Korean) characters

That’s a lot of Windows-specific fixes in one release. It looks like there was a systematic effort to close out issues that had accumulated for Windows users.

Other fixes

Beyond Windows, 2.1.147 addresses a spread of other issues:

  • Enterprise login restrictions weren’t being enforced against third-party provider and API-key sessions
  • Ampersands in ! command output were displaying as &, breaking copy-pasted URLs
  • Unknown slash commands were silently doing nothing in headless/SDK mode
  • MCP server pagination was dropping resources, templates, and prompts past the first page
  • Pasted text was being delivered as a placeholder instead of actual content in some cases
  • GNOME Terminal right-click and middle-click paste was broken
  • CLAUDE_CODE_SUBAGENT_MODEL wasn’t applying to teammate processes
  • Plugin component counts were being doubled
  • Backgrounded sessions were re-prompting for permissions that had already been granted

2.1.148

Version 2.1.148, the follow-up release on May 22, fixes one regression from 2.1.147: the Bash tool was returning exit code 127 on every command for some users. Exit code 127 means “command not found” at the shell level, so this would have caused widespread failures for anyone who updated to 2.1.147 before the fix landed. If you’re on 2.1.147, update.

To update Claude Code, run claude update or install the latest version from claude.ai/code.

Share