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

Claude Code 2.1.233

The two Bash permission changes from yesterday's 2.1.232 — permission checks on input redirections (`< file`) and on Cygwin-style symlinks on Windows — are reverted, and the auto mode regression that made ordinary `cd <dir> && <command> > file` commands stop for manual approval on Windows is fixed. GitLab support now extends to merge request URLs in the `--worktree` flag and the `claude agents` view, where MRs display as `!N`. Three opt-in settings land: `CLAUDE_CODE_TOOL_MEMORY_LIMIT` for memory cgroup limits on Bash tool commands on Linux, a `forward_user_identity` apps gateway setting that sends the signed-in user's identity as headers, and `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` for the WebFetch session URL cache TTL. Todo/task-tracking tools are no longer available on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models.

Official announcement →

This article is a summary based on official documentation.

What changed

Claude Code 2.1.233 shipped on August 14, 2026, largely as cleanup after 2.1.232 a day earlier. Two Bash permission changes introduced in 2.1.232 are reverted, and a Windows auto mode regression from the same release is fixed. The rest is GitLab merge request support, three opt-in settings aimed at fleet and gateway operators, and a behavior change that removes the todo/task-tracking tools on newer models.

New features

  • GitLab merge request URL support

    Teams on GitLab could not point Claude Code at a merge request URL directly. The --worktree flag and the claude agents view now accept GitLab merge request URLs, and MRs display as !N.

  • forward_user_identity apps gateway setting

    With a proxy behind the apps gateway (the self-hosted control plane for centrally managing a Claude Code deployment), requests looked like they came from the gateway, so spend could not be split per user. An opt-in forward_user_identity setting on Anthropic upstreams now sends the signed-in user’s identity as headers, so a proxy behind the gateway can attribute spend per user.

  • Memory cgroup support for Bash tool commands on Linux (CLAUDE_CODE_TOOL_MEMORY_LIMIT)

    A build launched through the Bash tool could consume memory until the whole session stalled. Opt-in memory cgroup support on Linux, configured with CLAUDE_CODE_TOOL_MEMORY_LIMIT, now caps Bash tool commands so a runaway build can’t stall the session.

  • CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS environment variable

    WebFetch reuses a response for the same URL within a session, and that window was not configurable. The new CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS environment variable configures the WebFetch session URL cache TTL. The default is unchanged at 15 minutes.

Key improvements

  • Todo/task-tracking tools removed on newer models

    TaskCreate, TaskGet, TaskUpdate, TaskList, and TodoWrite — the tools used to build and update a working task list — are no longer available on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models. Set CLAUDE_CODE_ENABLE_TODO_TOOLS=1 to bring them back.

  • 2.1.232 Bash permission changes reverted

    2.1.232 added permission checks for Cygwin-style symlinks on Windows and for input redirections (< file). Both changes are reverted in this release; a narrower version will return in a later release.

  • Faster claude self-hosted-runner session start

    Creating the session branch rewrote the working tree, and two server round trips blocked the agent’s launch. The session branch is now created without rewriting the working tree, and those two round trips no longer block the launch.

  • Apps gateway error forwarding

    400 and 413 errors from Vertex, Foundry, and Claude Platform on AWS upstreams lost the original message, leaving little to diagnose. Those errors now carry the upstream’s own message, which also fixes a bug with auto-compact on apps gateway.

  • claude plugin validate checks a bare .claude/skills directory

    A layout with only a .claude/skills directory fell outside validation, so a broken SKILL.md frontmatter surfaced only after install. claude plugin validate now checks that directory and reports SKILL.md files whose frontmatter fails to parse.

  • Screen reader mode

    The /effort selector was hard to follow without the screen, and hint and dialog text was clipped. The /effort selector now renders as a numbered list with a typed-number prompt, and hint and dialog text is no longer clipped.

  • Print mode diagnostics for unrecognized model IDs

    In -p (print) mode, a request going out for a model ID Claude Code doesn’t recognize produced no signal at all. A [claude-code:unrecognized_model] line is now written to stderr for those requests; map the ID with modelOverrides to silence it.

  • Setup tips matched to the git host

    The GitHub app setup tip also appeared in repositories whose origin remote is on gitlab.com or bitbucket.org. It no longer appears there, and the enterprise marketplace tip now covers non-GitHub internal git hosts.

Bug fixes

Sessions & integrations

  • Cloud sessions occasionally being marked as lost when the environment shut down while Claude was waiting on a permission prompt — fixed.
  • MCP v2 connections endlessly reopening the subscriptions/listen stream — fixed for servers that terminate long-held streams on a fixed timeout (e.g. serverless hosts).
  • Notification hooks not firing for permission prompts when running under Claude Desktop or VS Code — fixed.

Skills & commands

  • Bundled skill aliases like /checkup and /review reporting “Unknown command” when a user or project skill shadows the bundled skill — fixed; this happened in -p mode or with plugins/MCP loaded.
  • Skill/command argument substitution letting argument values be re-expanded as template markers — fixed.

Windows & Linux

  • Windows paths spelled with the NT \??\ device prefix bypassing UNC path validation — fixed, closing an NTLM credential-leak vector.
  • [Windows] Auto mode repeatedly stopping for manual approval on ordinary cd <dir> && <command> > file Bash commands — fixed; this was a 2.1.232 regression.
  • Idle sessions on Linux sometimes keeping one CPU core at 100% when sandboxing is enabled — fixed.

Notes

  • The two 2.1.232 Bash permission changes no longer apply — permission checks on input redirections (< file) and the change for Cygwin-style symlinks on Windows are both reverted. The behavior described in the 2.1.232 post does not hold on this version; a narrower version will return in a later release.
  • Upgrade if Windows auto mode kept stopping on you — ordinary cd <dir> && <command> > file commands stopping for manual approval was a 2.1.232 regression, fixed here.
  • Check any flow that relies on the todo toolsTaskCreate, TaskGet, TaskUpdate, TaskList, and TodoWrite are gone on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models. Set CLAUDE_CODE_ENABLE_TODO_TOOLS=1 to keep using them.
  • The Bash memory limit is Linux-only and opt-in — behavior is unchanged unless you set CLAUDE_CODE_TOOL_MEMORY_LIMIT.
  • The WebFetch cache default stays at 15 minutesCLAUDE_CODE_WEBFETCH_CACHE_TTL_MS only makes the TTL configurable; leave it unset and nothing changes.
  • Silence the unrecognized-model line with modelOverrides — if [claude-code:unrecognized_model] shows up in print mode, map that model ID with modelOverrides.