anthropics/claude-code v2.1.248
anthropics/claude-code
Captured source
source ↗published Aug 27, 2026seen 1dcaptured 1dhttp 200method plain
v2.1.248
Repository: anthropics/claude-code
Tag: v2.1.248
Published: 2026-08-27T22:12:20Z
Prerelease: no
Release notes:
What's changed
- Added
--restricted(orCLAUDE_CODE_RESTRICTED=1): removes the built-in tools that run commands or code andWebFetch(unless named in--tools), keeps file tools inside the working directory, refusesbypassPermissions, and ignores user, project and local settings files - Added
experimental.cacheTtl("5m"or"1h") to agent frontmatter: a per-agent prompt cache TTL used when no subagent TTL setting is configured - Added
claude self-hosted-runner --client-label(orSELF_HOSTED_RUNNER_CLIENT_LABEL) to override the label the runner registers with (default: hostname) - Added server-managed settings diagnostics: a startup warning when the settings fail to load, and a
/doctorand/statusline explaining a load failure or why they weren't fetched (Bedrock/Vertex/third-party provider, customANTHROPIC_BASE_URL) - Added a warning in
/web-setupwhen the GitHub CLI token lacks theworkflowscope, since pushes to very large repositories can be rejected without it - Added
/usage-creditsfor Enterprise organizations billed through AWS Marketplace, self-serve Enterprise, and Enterprise trials, so members can request a higher usage limit from their admin - Added cross-session messaging (
SendMessage/ListAgents) between sessions on the same machine on Bedrock, Vertex, and Foundry, and when telemetry is disabled - Fixed a prompt-cache miss (and lost extended-thinking context) roughly once an hour in long sessions, caused by tool definitions being re-rendered after an OAuth token refresh
- Fixed the
ScheduleWakeuptool definition changing between a session and its--resumewhen the account had entered usage overage, causing a full prompt-cache miss on the resumed session's first turn - Fixed Claude Desktop and Cowork sessions disappearing after 30 days: the transcript cleanup now keeps desktop-written sessions while they are in the app (unless org policy manages retention); the new
desktopSessionCleanupPeriodDayssetting caps the exemption - Fixed being sent to the login screen when another Claude Code process held the token refresh lock while the session token had expired; the request now fails with a retryable error instead
- Windows: Fixed the
claude agentslist not responding to the keyboard after detaching from a session, or when launched in a terminal tab left in win32-input-mode - Fixed the recommended Console sign-in in
/loginfailing with an OAuth error before showing a sign-in URL on machines where it can't be used (for example whenANTHROPIC_API_KEYor an API key helper is set); it now falls back to the API-key sign-in - Fixed model names in
/modeland fast-mode switch notices to render as code, so suffixes like[1m]display literally instead of as a link - Fixed
claude agentsskipping the workspace trust prompt when theCIenvironment variable is set - Fixed
claude agentscrashing on launch when the PR-status cache held a malformed entry - Fixed agent view resurrecting a weeks-old background session after the machine was off: such a session now shows as stopped at its real end, and opening it asks before resuming its saved conversation
- Fixed agent view sometimes opening an older conversation, and dropping the typed prompt, when starting a new session
- Fixed
claude agents: opening a stopped session that you already resumed in another terminal no longer starts a second process on that conversation; the row now says it is open in a terminal - Fixed
claude agentsandclaude rmrefusing to delete a session ("has commits that are not pushed anywhere") when its worktree branch was already merged into your checked-out default branch (e.g. localmain) but not yet pushed - Fixed background sessions waiting silently when a
PermissionRequestorPreToolUsehook prints an invalid answer: theclaude agentsrow now names the hook and the schema error - Fixed hooks silently treating a stdout
{…}object that isn't valid JSON as plain text; it's now reported as a hook error with the parse message - Fixed
/mcplisting a project.mcp.jsonentry that declares the claude.ai connector type under the trusted "claude.ai" heading; it now appears under its real scope - Fixed MCP servers whose
headersHelpersupplies theAuthorizationheader falling into OAuth discovery on a 401 instead of re-running the helper and retrying the call as documented - Fixed
/loginto a Claude apps gateway hanging when the managed-settings security approval dialog was required - Fixed gateway model discovery (
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY) never running whenapiKeyHelperis the only credential - Fixed
claude logsleaving mouse tracking, bracketed paste and the alternate screen switched on in the terminal it was run from - Fixed the trust dialog's list of repo permission rules showing a garbled character when a long rule was cut off in the middle of an emoji
- Fixed the permission mode indicator staying hidden behind the "Press Ctrl-C again to exit" hint when you press shift+tab right after ctrl+c
- Fixed
/ultrareviewand locally seeded cloud sessions uploading uncommitted edits toprod.env-style and*.tfvarsfiles, or to editor swap, temp, and backup copies of credential files (e.g.key.pem.tmp,id_rsa.swo); they now stay on your machine - Fixed Remote Control sessions occasionally never showing a permission prompt or the latest messages on the connected device after the CLI silently reconnected
- Fixed cloud sessions occasionally failing at startup when the container's session credentials were not yet readable
- Fixed
claude remote-controlrejecting its own flags (e.g.--spawn,--name) when a global flag or a wrapper-injected option precedes the subcommand - Fixed startup warnings (e.g. "N MCP servers need authentication") rendering one column right of the rest of the transcript
- Fixed a backgrounded worktree session losing its checkout: the background session now holds the worktree's lock while it runs, so cleanup and
git worktree removeleave it alone - Fixed @-mentions of other sessions not matching names typed with non-Latin characters (for example Korean entered through an IME)
- Fixed an invalid
crossSessionInboundvalue being silently ignored: it now warns and holds cross-session messages (user settings) or refuses them (managed settings) until fixed - Fixed...
Excerpt shown — open the source for the full document.