Claude Code’s changelog entries rarely make headlines. That’s usually a good sign — it means the product is stable enough that weekly releases are refinements, not rescue operations. Version 2.1.129 (shipped May 6, alongside Code with Claude SF 2026) is that kind of release: narrow scope, high precision.
But three changes in this release affect production deployments in ways that don’t show up as obvious UI differences. If you’re running Claude Code at scale on AWS Bedrock, operating MCP servers that hit startup errors, or routing Claude Code through a third-party gateway, you need to know about this release specifically.
AWS Bedrock Gets Service Tier Control#
The headline addition for enterprise users: ANTHROPIC_BEDROCK_SERVICE_TIER.
Set this environment variable to default, flex, or priority, and Claude Code will send the corresponding X-Amzn-Bedrock-Service-Tier header on every Bedrock API call. This maps directly to AWS Bedrock’s three inference tiers:
- default — standard throughput, standard pricing
- flex — burstable capacity, trades guaranteed throughput for cost flexibility
- priority — reserved throughput, higher cost, consistent latency
Before this change, Claude Code on Bedrock always requested default-tier inference. If your organization had negotiated a priority-tier reserved capacity block, you couldn’t steer Claude Code onto it — you had to let it compete for standard capacity alongside every other workload in your account.
Now you can. For teams running Claude Code in production pipelines where latency consistency matters — automated PR review, CI/CD integration with Code Review GA, scheduled Routines — this is the knob you’ve been waiting for.
How to use it:
export ANTHROPIC_BEDROCK_SERVICE_TIER=priority
claudeOr pin it in your shell profile / container environment for permanent effect. For Claude Code Routines running on Anthropic’s infrastructure against Bedrock, set it in the Routine’s environment configuration.
/resume Now Works by PR URL#
Small change, big workflow impact: pasting a pull request URL into the /resume search box now finds the session that created that PR.
Previously, /resume searched by session timestamp, conversation title, or working directory. If you wanted to continue work on a PR you’d handed off — or pick up a session from a different machine — you had to remember when you started it or scroll through a list.
Now you paste the PR URL — GitHub, GitHub Enterprise, GitLab, or Bitbucket format all work — and /resume does the lookup. Claude Code surfaces the matching session, including the full context of what was being built when the PR was opened.
The practical case: you create a PR, hand it off for review, reviewer comes back with comments three days later, and you want to continue in the same Claude Code session rather than starting cold. Paste the PR URL, resume, and Claude has the full context of what it built and why.
MCP Servers Get Three Startup Retries#
MCP servers that fail to connect during Claude Code startup have always stayed disconnected for the session. If an MCP server was slow to initialize — database connection under load, container cold start, network hiccup — Claude Code would mark it as unavailable and move on. You’d discover mid-session that the tool you needed wasn’t there.
Version 2.1.129 adds automatic retry logic: up to 3 retry attempts on transient startup errors before giving up. The retries are brief and happen before Claude Code’s main prompt appears, so you don’t see them unless they’re happening on a slow connection.
For MCP operators running servers with any startup latency variance — local containers, remote MCP endpoints, database-backed servers that take a moment to warm up — this is a reliability improvement that requires zero configuration. It just works.
The distinction the changelog makes: transient errors only. Servers that fail due to missing configuration, bad credentials, or incompatible protocol versions still fail fast. The retry logic is targeted at infrastructure-level flakiness, not configuration problems.
Gateway Model Discovery Is Now Opt-In#
This one is a reversal, and it deserves attention.
Version 2.1.126 (shipped ~April 25) made the /model picker’s gateway discovery automatic. Claude Code would query ANTHROPIC_BASE_URL/v1/models and populate the model picker with whatever models the gateway reported. Third-party OpenAI-compatible gateways — LiteLLM, OpenRouter, local Ollama setups, enterprise API proxies — suddenly appeared as selectable models without any user action.
v2.1.129 rolls that back. Gateway discovery is now opt-in via CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1.
The default is off.
Why the reversal? The auto-discovery behavior had two problems:
Security surface. A malicious or misconfigured
ANTHROPIC_BASE_URLcould inject unexpected model names into the picker. This is a minor risk in most setups, but it’s the kind of ambient attack surface that security-conscious enterprise environments will flag immediately.Noise in the model picker. Power users who set
ANTHROPIC_BASE_URLfor unrelated reasons (proxy routing, traffic inspection) found their model picker filled with unexpected entries. The opt-in flag keeps the picker clean by default.
If you were using auto-discovery from v2.1.126 through v2.1.128 and want to keep it, add CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 to your environment. If you upgraded to v2.1.129 and your model picker suddenly got shorter, this is why.
The Rest of v2.1.129#
Several smaller additions that are worth knowing about:
--plugin-url <url> — fetch a plugin .zip archive from a URL for the current session. Previously, plugins had to be installed to the local plugin directory. This enables ephemeral plugin loading for CI/CD workflows: pull a plugin from an artifact store, use it for the duration of the build, discard it. No persistent installation required.
CLAUDE_CODE_FORCE_SYNC_OUTPUT=1 — forces synchronized terminal output on terminals where auto-detection fails. The primary target is Emacs’s eat terminal emulator, which has a rendering model that trips Claude Code’s async output path. If you’re an Emacs user running Claude Code inside eat and seeing garbled output, this is the fix.
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE — when set, enables automatic background updates on Homebrew and WinGet installations with a restart prompt when an update is ready. Useful for developer workstations where staying current matters but you don’t want to remember to run brew upgrade before each session.
Plugin manifest changes — the experimental namespace in plugin manifests is now required for themes and monitors keys. Top-level declarations still work but trigger warnings from claude plugin validate. If you maintain a plugin, update your manifest before the warnings become errors in a future release.
VS Code Windows fix — a regression in recent releases caused the VS Code extension to fail activating on Windows due to a hardcoded build path in the bundled SDK. Fixed.
Mantle auth fix — the Bedrock enterprise Mantle backend was missing the x-api-key header in some authentication flows, causing intermittent auth failures for Bedrock GA users. Fixed.
The Pattern in This Release#
v2.1.129 is a configuration-layer release. The features aren’t about new AI capabilities — they’re about giving operators more control over how Claude Code behaves in specific infrastructure environments.
Bedrock service tiers, MCP retry logic, gateway discovery opt-in, plugin URL loading — all of these are signals that Claude Code is being deployed in environments complex enough to need these knobs. The engineering team is spending cycles on enterprise infrastructure plumbing. That’s not a criticism; it’s a sign the product has moved from developer-curious to production-serious.
For the vast majority of Claude Code users running it interactively on a developer machine with a direct Anthropic API connection, v2.1.129 is invisible. For the teams running it in pipelines, on Bedrock, behind gateways, or with MCP servers that have any startup variability — this is the release to upgrade for.
Sources: