# 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!

## 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!
