Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All releases Home olderv2.1.229 v2.1.232newer

Claude Code v2.1.231

2 entries read diff v2.1.229 → v2.1.231 Markdown
How it breaks down
You'll notice1Under the hood1
Find
Pick an entry · j / k steps through
Below the fold

Everything else

Smaller changes and internals, grouped as the pipeline found them. Nothing is dropped, it is only further down.

1 entry

Improvementsopen

You'll notice
Useful3 Signal2
MCP

MCP OAuth callback now redirects to localhost rather than 127.0.0.1#

MCP OAuth logins now send you back via localhost, so servers only allowing the IP form will reject you.

What

When Claude Code logs in to an MCP server over OAuth, the default address it hands the server to send you back to is now http://localhost:<port>/callback instead of http://127.0.0.1:<port>/callback. If a server has the old IP form registered as its only allowed redirect, that login will now be rejected until the localhost form is added.

Details
  • The port is taken from the server's oauth.callbackPort setting, falling back to Claude Code's own MCP OAuth callback port.
  • Configuring an explicit redirectUri for a server still overrides this entirely, and that path logs "(no localhost listener)" since Claude Code is not the one receiving the redirect.
  • This aligns the default with two other places in the same code that already built the localhost form, so all three now agree.
Evidence

/callback

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

1 entry

Internal Changesopen

Under the hood
Useful2 Signal1
Elsewhere

Build stamp bumped to 2.1.231#

The version number you see is now 2.1.231; nothing else about it changed.

claude --version/status
What

The version reported by claude --version, the /status Version row, update checks and telemetry is now 2.1.231, up from 2.1.229, with a matching new build time and commit hash. Nothing else changed.

Details
  • The same version, build timestamp (2026-08-13T07:25:27Z) and commit hash are stamped into roughly 50 places across the bundle, including the claude-code/ and claude-cli/ user-agent strings, the environment runner version header, the daemon-vs-CLI mismatch warning, the Remote Control minimum-version check, /doctor and updater output, the npm lookup for the latest published version, transcript headers, OpenTelemetry attributes and cache keys.
  • No logic differs anywhere in the group; only the constants.
Evidence

x-environment-runner-version, VERSION: "2.1.231", GIT_SHA: "bbff368ec698dbfacfcc9caae5eca91c30f299c3"

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.231. Text is unmodified from the upstream changelog. Everything else on this page came out of the bundle instead, which is why the two lists don't match.

  • Fixed MCP OAuth sign-in failing with a redirect URI mismatch for servers that use a pre-registered OAuth client, such as Slack
System prompt

No change to the system prompt since v2.1.229.

Claude Code, interactive mode

Switches

Every name in this release

The 2 literal strings found in the bundle, with the number of entries that name each one. Picking one searches for it. A name is here because this build's code mentions it, which is not the same as it working or being finished.

Slash commands

Settings and names in the code