Reaching Beyond GitHub: Claude Code v2.1.233 Adds GitLab Merge Requests, Faster Self-Hosted Runner Startup, and a "Memory Cap" for Runaway Builds—All at Once
Claude Code v2.1.233 is out. We break down the changes that firm up unattended, self-hosted operation: GitLab merge request support, faster self-hosted runner startup, a memory cap to stop runaway builds on Linux, and a fix for a credential-leak path on Windows.
Anthropic's coding agent, Claude Code, has released v2.1.233. Where the previous day's v2.1.232 headlined collaboration features like "subagent forking" and "session-to-session calls," this release is quieter but hits plenty of practical marks. Expanded GitLab support, faster startup for runners you operate on your own machines, and safety valves for long unattended runs all landed together.
This article draws on the published changelog to pick out and organize the changes that matter in real-world operation.
From "GitHub-Only" to GitLab Merge Requests
The first thing that stands out is the step forward in GitLab support. In v2.1.233, the --worktree flag and the claude agents list view now accept GitLab merge request (MR) URLs. In the list, MRs are shown using GitLab's !N notation.
This builds on a trend that began the day before in v2.1.232. Version 232 added secret-handling for GitLab's tokens (such as glpat-) and a mechanism to clone gitlab.com repositories as plugin distribution sources, just as you would with GitHub. The MR support in 233 is an extension of that, bringing even the "unit of work" closer to GitLab.
The implications aren't small. Early coding-agent support has largely assumed GitHub, but plenty of companies still run GitLab on their own servers. The less an agent cares which git host you use, the easier it is to slot into an existing development workflow.
Lighter Startup for Runners You Operate Yourself
Next up is a reduction in startup time for the self-hosted runner (claude self-hosted-runner). There are two main changes.
- Session branches are now created without rewriting the entire working tree
- Two round trips to the server that previously blocked agent startup have been eliminated
Self-hosted operation—"keep the code local (on your own infrastructure) and just call out for the brains"—is an area Claude Code has repeatedly strengthened this summer. When every startup is interrupted by a working-tree rewrite or a wait on network communication, that adds up to non-trivial delay in scenarios like CI where you run it over and over. This release trims that startup friction—a practical, real-world improvement.
Keeping a Runaway Build from Dragging Down the Whole Session
A win for unattended operation is a new feature that lets you cap the memory of commands run by the Bash tool on Linux. It's an opt-in enabled via the CLAUDE_CODE_TOOL_MEMORY_LIMIT environment variable (disabled by default), and it uses cgroups to limit a command's memory usage.
The aim is clear: to prevent a runaway build from devouring memory and freezing the entire session. If someone is watching, they'll notice and step in—but for an agent running headless over long stretches, "silently getting stuck" is the scariest failure. Set a cap, and the problem stays contained to a single failed command, far less likely to take down the whole session.
Behind the Convenience, Auth and Permission Holes Keep Getting Patched
This release also includes some security fixes worth noting. On Windows, a bug in which path notation using the NT \??\ device prefix slipped past UNC path validation has been fixed. This is described as a path that could lead to leakage of NTLM credentials. Alongside it, a regression—caused by a change in the previous version—in which even a plain command like cd <dir> && <command> > file would trigger a manual approval prompt every time under automatic mode has been fixed.
Over the past few weeks, Claude Code has shipped a steady stream of releases that plug small holes in permission checks and authentication. Put another way, the more you hand automation to an agent, the more this "robustness at the boundary" matters. It's worth keeping in the back of your mind at adoption time that such risks are surfacing behind the convenience—and being addressed each time.
Other Notable Fixes
- Fixed a bug where MCP v2 connections would endlessly re-establish subscription streams against servers that cut long-lived streams after a set time (such as serverless environments)
- WebFetch's URL cache retention time is now configurable via
CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS(the default remains 15 minutes) - Fixed a bug where cloud sessions could be treated as "lost" if the environment stopped while waiting on a permission prompt
- Fixed a bug where the Notification hook for permission prompts would not fire in Claude Desktop or VS Code
- Fixed a bug where, with the sandbox enabled, an idle Linux session could keep one CPU core pegged at 100%
Wrap-Up: A Move That Shores Up "Running Unattended for the Long Haul" Over Flash
v2.1.233 has no shiny new flagship feature, but its direction is clear. Widening the door to GitLab, lightening self-hosted startup, and adding a safety valve for runaway situations—each is groundwork for "running the agent in your own environment, with confidence, even unattended." The memory cap and WebFetch cache settings are opt-in, so if you need them, you'll have to enable them explicitly. If you're considering CI or self-hosted operation, reviewing these settings is a good place to start.
References: Claude Code changelog (official) / anthropics/claude-code CHANGELOG.md / Releasebot: Claude Code updates