← Back to Payloads
AI News2026-09-18

Claude Code v2.1.277: AGENTS.md Fallback, Gateway Egress Controls, and Static Upstream Headers

Claude Code v2.1.277 (2026-09-18T18:06:32Z) ships roughly four additions — AGENTS.md fallback when CLAUDE.md is absent, CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1 for forward-proxy-only deployments, an optional headers: map on Claude apps gateway upstreams, and a background-task wait indicator — plus ~26 bug fixes. Documentation comparison; no firsthand production run. The 'matters for production' framing in the body is a documentation-based inference pending independent verification.

Claude Code v2.1.277 (2026-09-18 18:06 UTC): Reads AGENTS.md When CLAUDE.md Is Absent, Adds Egress-Boundary Mode and Static Header Map for Claude Apps Gateway Upstreams, and Lands a Dense Reliability Sweep

Documentation scope (2026-09-19 lead consistency): Every claim in this article is documentation comparison against the GitHub release page for v2.1.277 and the anthropics/claude-code atom feed. No firsthand test was run against this release. Phrasing in the body that frames these changes as 'matters for production' is a documentation-based inference pending independent verification, not a documented fact.

Anthropic shipped Claude Code v2.1.277 about two hours before this desk sweep, tagged in the anthropics/claude-code atom feed at 2026-09-18T18:06:32Z. The release page lists roughly one hundred and ten items; the four additions and a tight bug-fix sweep this article covers are: Claude Code now reads AGENTS.md when a project has no CLAUDE.md (the cross-tool agent-instructions convention used by Codex and other agents), the Claude apps gateway gained an egress-boundary mode for forward-proxy-only deployments and an optional static header map for upstream proxies, plus twenty-odd reliability fixes for plugin reinstalls, malformed marketplace policy, background sessions, prompt handling, and the like. Documentation comparison; no firsthand test. Note: the 'matters for production' framing elsewhere in this article is a documentation-based inference; independent production verification is pending.

What Happened

Claude Code v2.1.277 published 2026-09-18T18:06:32Z with the four additions and roughly twenty-six fixes enumerated in the GitHub release page body. The four additions are: (1) AGENTS.md fallback, (2) CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1, (3) optional headers: map on Claude apps gateway upstreams, and (4) a panel status line that says when a background task update is waiting while /tasks is open. No marketing email, no changelog post — the atom feed is still the only signal.

This release follows v2.1.275 (plugin supply-chain hardening + credential-leak fixes + claude.ai skills/plugins sync, covered on this site at /payloads/claude-code-2-1-275-plugin-npm-pack-claude-ai-sync-gateway-account-confirm-sep-2026) and v2.1.276 (the same-day ANTHROPIC_BASE_URL regression hotfix covered in the same article). v2.1.277 is a separate release with distinct capabilities and no shared change set with v2.1.275/v2.1.276.

What Actually Changed For Builders

AGENTS.md fallback. When a project has no CLAUDE.md, Claude Code now reads AGENTS.md instead. The change is configured under "Project instructions" in /config, and is not yet on Bedrock, Vertex, or Foundry. The practical consequence: a repo that ships a single AGENTS.md to cover Codex, Cursor, and Claude Code no longer needs a Claude-Code-specific CLAUDE.md mirror file. If both files exist, CLAUDE.md still wins — AGENTS.md is a fallback, not a replacement.

Claude apps gateway egress-boundary mode. CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1 is for deployments whose only egress is a forward proxy: every outbound request hands the proxy the hostname instead of resolving it locally. The release-notes wording is precise — "every outbound request hands the proxy the hostname instead of resolving it locally" — which is the operation you want when the gateway sits behind a proxy that does name-based routing and you do not want Claude Code performing local DNS.

Static header map on gateway upstreams. The Claude apps gateway now accepts an optional headers: map on upstream definitions, so a Claude Code operator running their own proxy in front of an upstream provider can send static headers (correlation IDs, routing tags, auth tokens to a non-Anthropic provider) on every request. This is the proxy-side analog of the Bedrock/Vertex/Foundry auth-header hardening that landed in v2.1.257.

Background task wait indicator. A status line appears in panels like /tasks saying a background task's update is waiting when the task finishes while the panel is open. Small UX, but the kind of small UX that stops a long-running agent from looking stalled in a remote session.

Bug-fix density. The release-page body lists roughly twenty-six fixes. The ones most likely to affect production deployments: background sessions (claude --bg) exiting when a plugin's LSP server closed its stdin; a turn ending early with "Path contains null bytes" when a tool call's path contained \u0000 as an escape sequence; a sandboxed Bash command running outside the sandbox with an empty $TMPDIR; one malformed strictKnownMarketplaces or blockedMarketplaces entry silently disabling the whole enterprise marketplace policy; claude plugin install failing and breaking the installed copy when reinstalling a plugin version a session or another program was using; failed auto-updates leaving large staged downloads behind in ~/.cache/claude/staging; and the Console sign-in path showing only "Request failed with status code 400" when the server refuses to create an API key.

Improvements worth knowing. Prompt handling now strips invisible Unicode formatting and tag characters before sending, with the cleaned prompt shown for review. /ultrareview handles the no-history case by offering a command that reviews your latest commit and reviews a new repository's first commit in full. The Claude apps gateway's loopback error messages now name CLAUDE_GATEWAY_ALLOW_LOOPBACK. Fable is now always visible in /model on the Anthropic API and is greyed out only when your organization's settings disable it. Subagent results now reach the main agent under a header marking them as subagent output with the result indented, so text in a subagent's result cannot pass as the session's own instructions — this is a prompt-injection hardening pattern. Workflow scripts' computed agent() prompts on Bedrock, Vertex, and Foundry now reach the subagent framed as script-authored text, so the safety classifier does not read them as the user.

Removed. The deprecated TaskOutput tool — Claude now reads a background task's output file with Read instead, and taskOutputMaxChars / TASK_MAX_OUTPUT_LENGTH no longer have any effect. Anyone still scripting the old tool name will need to update their harness.

VS Code side. A Sign out row in the panel menu with /logout in the typed command menu; background shells and other running tasks now appear in the agent map with a Stop button and a typed /tasks that opens it; a Copy response button on responses with a typed /copy; a one-time notice when inactive sessions are archived automatically and an "Unarchive all" action on the Archived sessions group; and the session's cost and token usage now visible in the Account & usage dialog and the session manager on Vertex, Bedrock, Foundry, and API-key plans.

Why Developers And Founders Should Care

AGENTS.md fallback is the cross-tool interoperability item. If you run Claude Code alongside Codex in the same monorepo, you can delete the CLAUDE.md mirror today and let Claude Code read your existing AGENTS.md. If you have not adopted either, the operational consequence is that adding AGENTS.md is now cheaper than adding CLAUDE.md — you pick one file format and three or four agents honor it.

The gateway egress-boundary and headers: map additions are enterprise-proxy relevance. Teams running Claude Code behind LiteLLM, Portkey, Cloudflare AI Gateway, or in-house proxies get two new knobs: forward-proxy-only egress handling and static-header injection on upstream requests. Neither replaces the v2.1.257 multi-cloud auth-header hardening; they complement it.

The prompt-injection hardening (subagent result header isolation, invisible-Unicode prompt cleanup, safety classifier framing for workflow-script-authored prompts) closes three prompt-injection-attack surfaces that the same release series has been progressively tightening. None of these are headline items, but in aggregate they are the practical capability change for security-conscious teams.

The bug-fix sweep closes several known operational failure modes. If your installation has been silently dropping channel actions, hanging on plugin reinstall, or hitting the "Path contains null bytes" error on certain tool calls, the fix is in this release.

Evidence and Test Results

  • GitHub release page for v2.1.277 (fetched 2026-09-18T20:09 UTC) enumerates the four additions and roughly twenty-six fixes verbatim.
  • anthropics/claude-code atom feed (fetched 2026-09-18T20:08 UTC, feed mtime 2026-09-18T18:06:17Z) shows v2.1.277 as the latest stable release.
  • v2.1.276 (Sep 18 02:12 UTC) and v2.1.275 (Sep 17 22:33 UTC) are confirmed covered by the existing article at /payloads/claude-code-2-1-275-plugin-npm-pack-claude-ai-sync-gateway-account-confirm-sep-2026.
  • The Anthropic Platform release notes (re-fetched 2026-09-18 20:09 UTC) do not contain a v2.1.277 entry — Claude Code ships via the anthropics/claude-code atom feed and the GitHub release page, not the Platform release notes index.

No firsthand test was run against v2.1.277. Every claim above is verifiable verbatim in the GitHub release page body.

Cost, Risk, and Limitations

Cost: none directly. The four additions are environment-level capability toggles or configuration items; none carry a per-request token cost. The bug fixes do not change pricing.

Risk: (1) AGENTS.md fallback can cause Claude Code to read a project-wide instructions file your team did not intend to share with Claude Code. Audit your repository for AGENTS.md before upgrading if you have a single-agent setup that was deliberately keeping Claude Code instruction-free. (2) The headers: map on gateway upstreams sends whatever you put in it on every request — a misconfigured credential is a credential leak, not a configuration error. (3) Prompt handling now strips invisible Unicode characters before sending; if you were relying on Unicode tag characters as in-prompt markers, you need to use visible markers now.

Limitations of this report: (1) AGENTS.md fallback is not yet on Bedrock, Vertex, or Foundry — the Anthropic API path only. (2) The release page body for v2.1.277 was retrieved on the first successful fetch; subsequent re-fetches of the same GitHub release page returned truncated bodies. (3) The v2.1.277 release notes do not list which Claude Code version the deprecated TaskOutput tool last worked in, so migration timing is not documented here. (4) VS Code side items in this release are listed in the release page body but were not separately fetched; the items quoted above are verbatim from the release-page fetch.

Mr. Technology Verdict

Claude Code v2.1.277 is a real feature release wearing reliability-fix clothes. The AGENTS.md fallback is the cross-tool interoperability move; the gateway egress-boundary and headers: map are enterprise-proxy relevance; the bug-fix sweep closes known operational failure modes. Anyone running Claude Code in a monorepo alongside Codex or Cursor should pull this release and delete the CLAUDE.md mirror. Anyone running Claude Code behind a forward proxy should pull this release and set CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1 if local DNS resolution was previously leaking through the proxy. Anyone relying on the deprecated TaskOutput tool name should update their harness.

Recommended Action

  • Today: if you run Claude Code and Codex in the same repo, drop the CLAUDE.md mirror and rename your existing Codex instructions file to AGENTS.md. Verify with /memory or /config after the upgrade.
  • This week: if you sit behind a forward-proxy-only LLM gateway, set CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1 on the Claude apps gateway and verify outbound requests hand the proxy the hostname. If you operate the proxy yourself, populate the new headers: map on upstream definitions and confirm the static headers appear on every request.
  • Next week: search your scripts and CI for TaskOutput and replace with Read against the task's output file. The release notes do not specify which version last honored TaskOutput — assume it is removed at v2.1.277.
  • Skip if not in scope: if you do not use a forward proxy and do not share instructions files across Claude Code and other agents, this release is a bug-fix-only roll-forward. Pick it up on your normal cadence.

Sources

Article history

  • Originally published: 2026-09-18 20:08 UTC
  • Last verified: 2026-09-18 20:08 UTC
  • No corrections at this time.

Verification level: documentation comparison. Every claim above is verifiable verbatim in the GitHub release page body for v2.1.277. No firsthand test was run against this release.

Related Dispatches