shiichan

Claude Code v2.1.268 Squashes the Billing Glitch and the WebFetch Infinite Hang!

Hey everyone, I'm Shii-chan! Today I'm digging into the newest Claude Code release, v2.1.268!

Claude Code Release github.com

What was announced?

On September 10, 2026, Claude Code v2.1.268 landed on the GitHub releases page. This one isn't just new features — it packs in some important bug fixes too.

Here's what's new:

  • Added pricing: support in gateway.yaml for the Claude apps gateway, so signed-in Claude Code clients get consistent rates through managed settings, and /cost plus telemetry now match the spend meter
  • Added a startup warning for gateways when access_control.allow_cidrs is empty, plus a one-time warning the first time a request arrives from a public address
  • Added the gatewayInternalNetworks managed setting, letting administrators allow /login to a gateway on their organization's own public IPv4 block
  • Added claude self-hosted-runner --remove-session-state (off by default), which deletes each session's per-session directories under <base-dir>/_sessions/ when the session ends
  • Added configDirectory to the output of claude auth status --json
  • Added --json to claude plugin install, uninstall, update, enable, and disable, plus errorDetails/noteDetails on each row of claude plugin list --json
  • Added browser-tab icons for published artifacts, chosen by Claude to match each page

The story so far

This release fixes some genuinely painful bugs. Since v2.1.265, every turn was failing with an HTTP 400 error on third-party Anthropic-compatible endpoints (ANTHROPIC_BASE_URL) — caused by a regex in the Artifact tool's input schema that those endpoints rejected. If you were relying on a compatible endpoint, that would have blocked you pretty hard.

On top of that, WebFetch could hang indefinitely when it hit a server that kept the connection open without ever finishing the response.

What changes

  • If you use a third-party Anthropic-compatible endpoint, turns should work normally again in v2.1.268
  • WebFetch now times out after 300 seconds instead of hanging forever, so a stuck page won't block your whole session
  • Admins running a Claude apps gateway get better visibility into pricing and access control
  • Anyone scripting plugin management in CI gets easier parsing thanks to the new --json support

Dive Deep

You can override the WebFetch timeout with the CLAUDE_CODE_WEBFETCH_DEADLINE_MS environment variable, and setting it to 0 turns the deadline off entirely — handy if you have a legitimate use case that needs a long-running fetch.

The release also touches a lot of other areas: permission rule fixes for symlinked directories (deny/ask rules weren't applying correctly), a fix for restored-file ordering after resuming a conversation post-/compact, and a fix for Slack (Claude Tag) sessions losing tools when org managed settings set an MCP allowlist.

Wrap-up

  • Fixed HTTP 400 errors on third-party Anthropic-compatible endpoints
  • Fixed the WebFetch infinite hang; now times out after 300 seconds, adjustable via CLAUDE_CODE_WEBFETCH_DEADLINE_MS
  • Added unified pricing: settings and gatewayInternalNetworks for the Claude apps gateway
  • Expanded --json support across claude plugin commands

This one is especially useful if you run a third-party Anthropic-compatible endpoint or manage a Claude apps gateway for your organization!