
Claude Code v2.1.277 to v2.1.278 Major Updates - Long-awaited AGENTS.md Support and Removal of the TaskOutput Tool
This page has been translated by machine translation. View original
This is Ishikawa from the Cloud Business Division. I'll summarize the Claude Code v2.1.277 ~ v2.1.278 (2026-09-18 ~ 2026-09-19) updates. Today, I tried out the long-awaited AGENTS.md support.
The previous update article is here.
Update Summary
This covers 2 versions (v2.1.277 ~ v2.1.278, 2026-09-18 ~ 2026-09-19) with a combined total of 89 changes. The breakdown is 54 fixes making up the majority, followed by 13 improvements, 11 new features, 7 security fixes, 2 performance improvements, and 2 breaking changes. Fixes are concentrated around crashes, hangs, and session resumption.
Notable Updates
AGENTS.md Loading Support (v2.1.277)
For projects without a CLAUDE.md, Claude Code will now load AGENTS.md instead. Switching is done via "Project instructions" in /config. This is not supported on Bedrock, Vertex, or Foundry.
For repositories that already have an AGENTS.md prepared for other coding agents, this means you no longer need to copy the same content into a separate file for Claude Code.
This has also been generating buzz on social media.
Removal of the TaskOutput Tool (v2.1.277)
The deprecated TaskOutput tool has been removed. Claude now reads background task output files using Read. The taskOutputMaxChars setting and TASK_MAX_OUTPUT_LENGTH no longer have any effect.
If you were using settings to adjust background task output volume, those settings will no longer work, so a review is warranted.
Auto Mode Classifier Moved Server-Side (v2.1.278)
For Claude API and Enterprise users, as well as Bedrock, Vertex, Foundry, and gateway setups, auto mode now uses a server-side classifier by default. Classifier overhead is not billed. A warning will appear if a billable fallback occurs. Additionally, a new Auto mode server line has been added to /status, indicating whether that session's classifier is running on the server.
If you have a configuration using Bedrock, Vertex, Foundry, or a gateway, the default has changed, so it's worth checking /status once to confirm where execution is happening.
Stricter Sandbox Exclusion Matching (v2.1.277)
A bug was fixed where sandbox.excludedCommands globs would exclude an entire compound Bash command from the sandbox if only a portion of it matched. Now all parts must match.
If you use commands registered in sandbox.excludedCommands as part of compound commands, things that were previously excluded will now run inside the sandbox, so it's worth reviewing your configuration.
Improved Handling of Prompts and Sub-Agent Results (v2.1.277)
Invisible Unicode formatting characters and tag characters in prompts are now stripped, and the cleaned-up prompt is displayed for review before sending. Sub-agent results are now passed to the main agent with a header and indentation indicating they come from a sub-agent, preventing text within the results from being interpreted as instructions for the session itself.
This change will have the most impact for those who frequently work with content fetched from the web or results from sub-agents.
Target Versions and Period
| Version | Release Date |
|---|---|
| v2.1.277 | 2026-09-18 |
| v2.1.278 | 2026-09-19 |
New Features
- A new
Auto mode serverline has been added to/status, indicating whether that session's auto mode classifier is running on the server (v2.1.278) CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1has been added for Claude apps gateway. For configurations where the only egress is a forward proxy, this passes hostnames to the proxy for all outbound requests without performing local name resolution (v2.1.277)- An optional
headers:map has been added to Claude apps gateway upstreams, for sending static headers to a proxy placed in front of the provider (v2.1.277) - When a background task completes while panels such as
/tasksare open, a line is now displayed indicating that an update is pending (v2.1.277) - [VS Code] Running tasks such as background shells are now added to the agent map, each with a Stop button, and can be opened via the
/tasksinput (v2.1.277) - [VS Code] In environments where plan limits do not apply (Vertex, Bedrock, Foundry, API key), session cost and token usage are now displayed in the Account & usage dialog and session manager (v2.1.277)
- [VS Code] Additionally, a Sign out entry and
/logoutin the panel menu, a Copy response button and/copyfor responses, and automatic archive notifications with "Unarchive all" for inactive sessions have been added (v2.1.277) - [Claude Code on the web] Personal and Organization sections have been added to the environment picker for Team and Enterprise plans, allowing administrators to share personal environments with their organization (v2.1.277)
Improvements
- Session startup for SDK and headless (
-p) usage has been improved so that the first turn no longer waits for per-directory CLAUDE.md scanning (v2.1.277) - The automatic title generation request using background Haiku has been removed for
claude -pruns launched outside of an SDK or IDE (v2.1.277) - Fable is now always shown in
/modelfor the Anthropic API. It is only grayed out if disabled in the organization's settings (v2.1.277) - The permission prompt for dangerous
rmcommands now names the specificrmcommand in question and suggests a${VAR:?}guard. Recovery is now possible even in headless execution (v2.1.277) - Prompts computed by workflow scripts for
agent()are now presented to Bedrock, Vertex, and Foundry as script-sourced text, preventing safety classifiers from reading them as user input (v2.1.277) - Running
claude plugin installfor an already-installed plugin will now notify you if a newer version is available in the marketplace and show theclaude plugin updatecommand (v2.1.277) - MCP servers displayed separately from plugins under Installed in
/pluginnow show which plugin they belong to (v2.1.277)
Fixes (Key Items)
Here is a selection of fixes focused on stability and usability.
- Fixed hangs in
claude -pand Agent SDK: Fixed an issue where the process would hang without returning results after an internal error. It now reports the error and exits with code 1 (v2.1.277) - Fixed request failures due to empty text blocks: Fixed an issue where all requests would fail with "text content blocks must be non-empty" if a previous assistant turn held an empty text block alongside other content, including after
--resume(v2.1.277) - Fixed unexpected logouts: Fixed an issue where running an older build of Claude Code on the same machine, such as a CLI bundled with an IDE extension, would cause a logout (v2.1.277)
- Fixed incorrect "no results" reports from Grep and Glob: Fixed an issue where exhaustion of processes, memory, or file handles would prevent a search from starting, causing it to incorrectly report no results. It now returns an error indicating the failure (v2.1.277)
- Fixed dropped messages typed during active work: Fixed an issue where messages typed while Claude was working could be ignored by the model (v2.1.277)
- Fixed enterprise marketplace policy being silently disabled: Fixed an issue where a single invalid entry in
strictKnownMarketplacesorblockedMarketplaceswould silently disable the entire policy (v2.1.277) - Fixed
$TMPDIRfor commands outside the sandbox: Fixed an issue where$TMPDIRwould expand to empty for Bash commands running outside the sandbox when sandboxing was enabled (v2.1.277) - Fixed project skill loading with
--worktree: Fixed an issue where project skills in.claude/skillsfrom the main repository would not load in--worktreesessions when the skills directory was untracked (v2.1.277) - Fixed cost aggregation on headless resume: Fixed an issue where cost and usage aggregation would start from zero after
claude -p --resume, SDK usage, and VS Code extension window reloads. Headless sessions now save aggregation on exit (v2.1.277) - Fixed message loss and cache misses after
/clear: Fixed an issue where, if the SessionStart hook produced output, parts of the first message in a session continued after/clearwould be missing and the prompt cache would miss entirely (v2.1.277) - A quietly welcome fix: Fixed an issue where failed auto-updates would leave large staged downloads in
~/.cache/claude/staging(v2.1.277). Since this is the kind of problem that quietly consumes disk space without you noticing, it's a relief to have it fixed - In addition, numerous smaller bugs have been fixed, including crashes on startup and session resumption, display and management issues in
/plugin, PDF reading on Windows, settings persistence in the VS Code extension, and Claude Tag admin settings.
Breaking Changes & Deprecations
Removal of the TaskOutput Tool (v2.1.277)
The deprecated TaskOutput tool has been removed, and the taskOutputMaxChars setting and TASK_MAX_OUTPUT_LENGTH no longer have any effect. Claude now reads background task output files using Read.
Below are configuration examples.
Before (up to v2.1.276):
// settings.json
{
"taskOutputMaxChars": 50000
}
# The limit could also be specified via environment variable
export TASK_MAX_OUTPUT_LENGTH=50000
After (v2.1.277 and later):
// settings.json
// taskOutputMaxChars has no effect
{}
# TASK_MAX_OUTPUT_LENGTH also has no effect
# Claude reads background task output files using Read
Default Change for Auto Mode Classifier (v2.1.278)
For Claude API and Enterprise users, as well as Bedrock, Vertex, Foundry, and gateway setups, auto mode now uses a server-side classifier by default. On Bedrock, Vertex, Foundry, and gateway, you can opt out via an environment variable.
Default (v2.1.278 and later):
# No environment variable specification is needed
# The auto mode classifier runs server-side, and classifier overhead is not billed
To opt out:
# Applicable to Bedrock, Vertex, Foundry, and gateway
export CLAUDE_CODE_AUTO_MODE_SERVER=0
A warning will appear if a billable fallback occurs. Details are available in the official documentation.
Trying Out AGENTS.md
What is AGENTS.md?
AGENTS.md is something like a README for AI agents. OpenAI, Google, Cursor, and others have adopted the Linux Foundation standard. Claude Code, on the other hand, uses CLAUDE.md to describe similar content. Even though the role is essentially the same as AGENTS.md, it had to be written in CLAUDE.md. This meant that when developing alongside projects using agents other than Claude Code, a separate CLAUDE.md had to be prepared.
With v2.1.277, Claude Code will now load AGENTS.md in projects where no CLAUDE.md exists. Switching is done via "Project instructions" in /config.

One important caveat is that this is a fallback: AGENTS.md is only read when CLAUDE.md is absent. This is not supported on Bedrock, Vertex, or Foundry.
The search for CLAUDE.md extends not just to the current directory but also to parent directories. In the verification below, if a CLAUDE.md is placed directly under the home directory, AGENTS.md in a project beneath it will not be read.
Testing with and without AGENTS.md
I verified the AGENTS.md loading introduced in v2.1.277 using a temporary directory. I set it up without a CLAUDE.md, placing only an AGENTS.md with an instruction to output a unique passphrase at the beginning of each response.
The location for testing matters. As mentioned above, CLAUDE.md is searched in parent directories as well, so if you have a ~/CLAUDE.md, testing anywhere under your home directory will result in AGENTS.md not being read. Running git init did not stop this search. Here I verify using a temporary directory with no CLAUDE.md in any parent directory.
% cd "$(mktemp -d)"
tmp.c0Shc9769O %
When AGENTS.md is present (displaying [AGENTS_MD_LOADED]):
tmp.c0Shc9769O % printf 'Always output [AGENTS_MD_LOADED] at the beginning of your response.\n' > AGENTS.md
tmp.c0Shc9769O % claude -p --max-turns 1 "What is 1 + 1? Answer briefly."
[AGENTS_MD_LOADED]
2.
The passphrase ([AGENTS_MD_LOADED]) was only output when AGENTS.md was present.
When AGENTS.md is absent (AGENTS.md moved aside):
% mv AGENTS.md AGENTS.md.disabled
% claude -p --max-turns 1 "What is 1 + 1? Answer briefly."
2.
Once AGENTS.md was moved aside, the passphrase was not output.
When CLAUDE.md exists in a parent directory (AGENTS.md is not read):
Place a CLAUDE.md in a parent directory and an AGENTS.md in a child directory, then run the same prompt.
% cd "$(mktemp -d)"
tmp.kk4EO5dLOb % mkdir -p parent/child
tmp.kk4EO5dLOb % printf 'In this project, always output [PARENT_CLAUDE_MD] at the beginning of your response.\n' > parent/CLAUDE.md
tmp.kk4EO5dLOb % printf 'Always output [AGENTS_MD_LOADED] at the beginning of your response.\n' > parent/child/AGENTS.md
tmp.kk4EO5dLOb % tree
.
└── parent
├── child
│ └── AGENTS.md
└── CLAUDE.md
3 directories, 2 files
tmp.kk4EO5dLOb % cd parent/child
child % claude -p --max-turns 1 "What is 1 + 1? Answer briefly."
[PARENT_CLAUDE_MD] 2.
Even though AGENTS.md was present, the CLAUDE.md from the parent directory was read. If you want to try this yourself, first check whether you have a CLAUDE.md placed in a parent directory such as ~/CLAUDE.md. If you do, AGENTS.md will not be used in any repository beneath it.
Closing Thoughts
Of these two versions, v2.1.277 with its 87 changes was the centerpiece, and the majority of those were crash and hang fixes. It felt more like a release dedicated to fixing what was broken rather than adding visible new features. The removal of the TaskOutput tool and the default change for auto mode both require a configuration review, so I'd suggest checking just those two things first.
Why not update and give it a try? If any of the changes catch your eye, check them out in your own environment.
References
