# Claude Code v2.1.233 brings GitLab support and a Windows security fix

Hey there, it's me! I caught the latest Claude Code release notes today, so let me walk you through them.

## What was announced?

Over on Claude Code Release, the notes for **version v2.1.233** went live. It bundles better GitLab integration and a faster self-hosted runner startup with new features, plus an important security fix for Windows.

## The story so far

Until now, the `--worktree` flag and the `claude agents` view only recognized GitHub pull request URLs, not GitLab merge requests. Bash tool commands also had no way to cap their memory use, so a runaway build could stall a whole session, and the WebFetch cache TTL was stuck at a fixed 15 minutes with no way to tune it. On Windows, paths written with the NT `\??\` device prefix could slip past UNC path validation entirely.

## What changes

This release adds several things you can put to use right away:

- `--worktree` and the `claude agents` view now support **GitLab merge request URLs** (shown as `!N` in the UI)
- Bash tool commands can opt into a **memory cgroup limit** (`CLAUDE_CODE_TOOL_MEMORY_LIMIT`), so a runaway build can no longer stall the session
- The **WebFetch cache TTL** is now configurable via `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` (the default stays 15 minutes)
- An opt-in **`forward_user_identity`** apps gateway setting on Anthropic upstreams sends the signed-in user's identity as headers, so a proxy behind the gateway can attribute spend per user
- The NT `\??\` device prefix bug that let paths **bypass UNC path validation** is fixed, closing an NTLM credential-leak vector

## Dive Deep

There's a long list of smaller fixes and improvements too — here are the ones worth knowing about:

- **Session stability**: fixed cloud sessions occasionally being marked as lost when the environment shut down while waiting on a permission prompt
- **MCP v2**: fixed the `subscriptions/listen` stream endlessly reopening against servers that terminate long-held streams on a fixed timeout (e.g. serverless hosts)
- **Notification hooks**: fixed Notification hooks not firing for permission prompts under Claude Desktop or VS Code
- **Linux idle CPU**: fixed idle sessions sometimes keeping one CPU core at 100% when sandboxing is enabled
- **Self-hosted runner**: `claude self-hosted-runner` session start is faster now — the session branch is created without rewriting the working tree, cutting two server round trips from the launch path
- **Todo/task-tracking tool behavior**: on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models, tools like TaskCreate and TodoWrite are no longer available by default; set `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` to bring them back
- **Windows regression fix**: fixed a 2.1.232 regression where ordinary Bash commands like `cd <dir> && <command> > file` kept stopping for manual approval in auto mode; the 2.1.232 permission changes for Cygwin-style symlinks and input redirections (`< file`) were also rolled back for now

## Wrap-up

- `--worktree` and `claude agents` now support GitLab merge request URLs
- New opt-in settings for Bash memory limits and WebFetch cache TTL
- A path-validation bug that could leak NTLM credentials on Windows is fixed
- Plenty of reliability fixes around cloud sessions, MCP v2, and Notification hooks
- Todo/task-tracking tools are now off by default on newer models like Opus 4.8 and Sonnet 5

This one's worth a look for anyone using Claude Code day to day — especially teams working on GitLab, or anyone leaning heavily on self-hosted runners and the Bash tool!
