Claude Code Releases· ashwin-ant·· 3 小时前AI 评分41
Claude Code v2.1.317 发布:新增 /schedule 连接器警告与成本报表 API
v2.1.317
AI 导读
Claude Code v2.1.317 为 /schedule 增加连接器警告,并新增 Agent SDK hook 回调的 onFailure: "block" 选项。
正文
What's changed
- Added a warning to
/schedulewhen a new cloud scheduled task gets connectors you did not ask for, with how to remove them - Added a check that asks before a web or shell tool call sends your account email address to the network
- Added
onFailure: "block"for Agent SDK hook callbacks, so a callback that fails blocks the action instead of letting it run - Added a notice in Claude Desktop's Code tab when your organization's remote managed settings haven't loaded for the session, and another once they do
- Added a notice when auto mode's check has no answer for a subagent's tool call, which used to leave nothing in the main view
- Added
anthropic.plan,anthropic.seat_type,anthropic.providerandanthropic.custom_base_urlto OTel metrics, events and spans - Added a cost report to the Claude apps gateway admin API,
GET /v1/organizations/analytics/cost, for reading past spend over a date range in total, per developer, per day or per IdP group - Added a daily record of each developer's IdP groups on Claude apps gateways with
admin:set, kept foradmin.identity_retention_days, which the cost report groups by - Added
CLAUDE_CODE_DISABLE_NESTED_SESSION_ID: set it to1on a self-hosted runner to haveclaude -prun inside a session use that session's ID and transcript, as in earlier versions - Fixed project and local MCP servers disconnecting after the first turn in some Claude desktop sessions
- Fixed auto mode failing every turn when an LLM gateway set as the base URL answers 403 or 422 to its server-side safety check (a 403 with an apiKeyHelper is unchanged)
- Fixed
claude auth statusexiting before a slow token refresh was saved, which could sign you out on the next run - Fixed a project's
effortLevelsetting being ignored by sessions that an app starts ahead of time and then opens in the project, such as new sessions in the desktop app's Code tab - Fixed
claude --from-prreporting "No conversations found" in projects with many sessions when the linked session was older than the first page - Fixed the second of two simultaneous permission prompts showing no file path or command on claude.ai and the mobile apps
- Fixed Remote Control and SDK hosts offering "don't ask again" on a mod's tool calls
- Fixed session titles being lost in cloud and SDK sessions when a new message or Stop arrived while the title was generating
- Fixed self-paced
/loopwakeups sometimes not being scheduled when Claude left a field out of its request - Fixed auto mode in cloud sessions stopping for approval when the Artifact tool uploaded, wrote to a database or saved a file through the outputs folder
- Fixed skills synced from claude.ai being lost or downloaded again every ten minutes when they can't be written to disk
- Fixed
/scheduleleaving a cloud scheduled task's next run time and link out of its results after creating or updating it - Fixed screen readers speaking a running subagent's elapsed time and token count on every change in screen reader mode
- Fixed a region or network block (HTTP 403) being shown as a sign-in failure; the error now explains the block
- Fixed Claude saying a working claude.ai connector needed authorization or had failed in cloud sessions when a synced plugin included the same server
- Fixed
claude -pexiting 0 when a full disk or quota lost its transcript or ~/.claude.json writes; it now prints an error and, in text and json output, exits 1. Full NFS exports may be missed - Fixed edits to settings files made in the first second or so after launch not taking effect until a settings file changed again
- Fixed old transcripts not being cleaned up on machines where some runs skip cleanup, such as runs using
--setting-sources - Fixed deleted agent team inboxes being re-created by a teammate's late message
- Fixed a re-created agent teammate being removed from its team by an earlier shutdown approval
- Fixed stored scheduled tasks being impossible to list or delete after scheduled tasks were turned off
- Fixed Claude deleting your most recently updated
/team-onboardingguide when asked to delete one without naming which - Fixed Claude saying a
/team-onboardingguide was deleted when the server refused the delete - Fixed the Claude apps gateway hiding Amazon Bedrock's "Input is too long." error, which left sessions failing every turn with "upstream rejected the request" instead of compacting
- Fixed self-hosted runner sessions losing recent turns or the whole conversation when restarted while a plan waited for approval
- Fixed "Prompt is too long" after automatic compaction in sessions whose very large CLAUDE.md changed since it was last sent
- Fixed high memory use and slow startup in headless sessions with many plugins that register commands
- Fixed stdio MCP servers receiving an empty
AWS_BEARER_TOKEN_BEDROCKwhen their env config sets it to empty; the variable is now unset, so the server can use the machine's own AWS credentials - Fixed API requests failing with "unable to get local issuer certificate" behind some TLS-inspecting proxies after a root certificate renewal
- Fixed very long conversations losing their earlier summary when compaction had to shorten its own request
- Fixed a PDF's own metadata being able to make Read and @-mentions under-count its pages
- Fixed
DISABLE_PROMPT_CACHING_OPUSandDISABLE_PROMPT_CACHING_SONNEThaving no effect on[1m], other-region and undated spellings of the default model - Fixed
/artifactsand the Artifact tool's shared list showing no shared artifacts when you have 200 or more of your own - Fixed Claude treating partial Grep and Glob results as complete when a search hit its time limit
- Fixed OpenTelemetry exports to an
https://endpoint through a proxy never being sent when they started while another export was still in progress - Fixed a flood of connection attempts to a proxy that blocks (HTTP 403) OpenTelemetry exports to an
http://endpoint - Fixed OpenTelemetry exports hanging indefinitely behind a proxy that never answers; they now time out after 10 seconds, or
OTEL_EXPORTER_OTLP_TIMEOUTup to 30 seconds - Fixed resumed sessions telling Claude again about a file change it already knew about
- Fixed Claude sometimes not using a built-in tool in a resumed session after an earlier call failed because the tool was switched off
- Fixed
/remote-controlanswering "Unknown command" instead of saying that Remote Control is turned off by thedisableRemoteControlsetting - Fixed agent team teammates in tmux or iTerm2 panes starting in auto mode when the lead session was in manual mode
- Fixed a background session sometimes losing a just-made change of permission mode when it was upgraded or retired
- Fixed Ctrl+C stopping all running background agents when pressed to clear typed text at the prompt
- Fixed /feedback showing "Enter to confirm" while a report is being sent
- Fixed child processes of a stopped shell command sometimes being sent SIGTERM twice, which could make some programs skip their cleanup
- Fixed
claude -prun inside a cloud or self-hosted runner session sharing that session's ID: it wrote into the session's transcript, and a restart could resume the wrong conversation - Fixed
claude -prun inside a cloud or self-hosted runner session generating a title of its own and sending it to that session - Improved the error shown on Microsoft Foundry when Azure credentials can't be loaded: it now says to check or refresh them, and reports as
cloud_credential_error - Improved
/design-syncto say up front when your design system has moved to Claude, and stop before building instead of failing at upload - Improved the startup error when a required Claude apps gateway can't be reached: it points to the network instead of a sign-in, and says when the gateway's TLS certificate can't be verified
- Improved the "Resume this session with" hint shown at exit to repeat the flags you launched with (for example
--chrome --debug) ahead of--resume - Improved how self-hosted runners recover from server errors: after a 5xx other than 501 or 529, a runner's next poll now opens a new connection instead of reusing the one that failed
- Improved how self-hosted runner sessions recover from server errors: after a 5xx other than 501 or 529, a session now opens new connections instead of reusing the one that failed
- Improved how self-hosted runner sessions recover when connections stop answering: after a heartbeat gets no answer, a session now opens new connections instead of trying each idle one in turn
- Changed SendMessage so a message to a running background agent arrives earlier: its running command moves to the background, without being stopped
- Changed subagents and teammates on a different model from the main conversation to use that model's saved effort level or its default, instead of the session's effort level
- Changed exit to skip the "Background work is running" prompt for plugin monitors
- Changed the built-in
plugin-authoringskill to offer once, after a mod you built works, to help share the mod - Removed the Read tool's "file unchanged since your last Read" stub: reading an unchanged file again returns its content
- Windows: Fixed every tool call being refused on some volumes where the native path lookup fails; the working-directory check now compares the folder's identity instead
- Windows: Fixed the session scratchpad and other temporary paths growing with your project's path length in sessions not started by Claude Desktop, which made repositories cloned into them hit the 260-character path limit
- Gateway: Fixed the status line and
/usageshowing a developer's own spend limit as 100% used after their group's pooled budget ran out - Self-hosted runner: Fixed Claude not seeing the interrupted tool call when a session moves to a new runner and the turn is older than
CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS - Self-hosted runner: Fixed an MCP server that was switched off coming back on after the session moved to a new machine, when the session service had refused to save the switch
- Remote Control: Improved fork names when the app doesn't set one: a long name keeps its "(fork)" ending, and in sessions started with
claude remote-controla fork of "Name (fork)" is "Name (fork 2)" - [VSCode] Fixed forked conversations dropping messages: only one of the tool calls Claude ran in parallel was kept, and the last messages a compaction kept were lost, which could leave Claude's answer without the question it answered
- [VSCode] Fixed a message being lost when Claude did not finish starting in time: the extension now starts Claude once more before showing the error
- [VSCode] Fixed the sign-in screen opening when a request is blocked for its region or network
- [VSCode] Fixed the Account panel showing the plan name with a lower-cased second word
- [VSCode] Fixed file links in a Claude tab opening on top of the chat instead of in another editor group
- [VSCode] Fixed attachment chips, menus, banners and dialogs in the Claude panel staying small when
chat.fontSizeis raised - [VSCode] Fixed
ultrathinknot raising effort for its turn or showing its rainbow when telemetry is off - [Cloud sessions] Added a link card to cloud sessions, so you can open or decline a link an MCP server asks you to visit instead of the request going unseen
- [Cloud sessions] Changed the organization environment dialog in admin settings to the personal dialogs' short layout: each section opens from a row, and unsaved input asks before closing
- [Cloud sessions] Fixed adding a network secret for a host that already has one silently replacing it; the Add secret form now refuses and points you to the existing secret
- [Cloud sessions] Fixed new scheduled tasks ignoring your organization's default environment: the form now starts on the one an admin chose instead of the Anthropic-hosted default
- [Remote Control] Fixed the next message to an idle session going unanswered after you restart
claude remote-control, when you sent it within a minute of your previous message - [Claude Tag] Changed newly pasted artifact links in Slack to show a simpler card with an Open button that opens the artifact in Claude, instead of Slack's side panel
来源:Claude Code Releases · github.com