Repository navigation
docs: Claude Code v2.1.309 - Message threads API beta in SDKs 2.2.0; self-hosted runner now reserves fds 4 and 5 - #1404
Merged
Conversation
…self-hosted runner now reserves fds 4 and 5 Co-Authored-By: claude-yolo[bot] <claude-yolo@lroole.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Night shift report
WHY THIS MATTERS: All the official SDKs moved up a minor version together (Python 2.2.0, TypeScript 1.2.0, Java 3.2.0, Go/Ruby 2.2.0, C# 13.2.0, PHP 1.2.0, ant CLI 2.2.0). They add message threads, a new beta where the server keeps the conversation history, so each request sends only the new turns. That changes how people build multi-turn apps. Separately, a quiet Claude Code docs edit can break existing self-hosted runner wrappers: from v2.1.309 the runner reserves file descriptors 4 and 5. The docs' own earlier example saved stdin on fd 4, so anyone who copied it now collides with the runner.
HIGHLIGHTS:
client.beta.messages.thread(...)takes the same arguments ascreate().thread.send(...)sends only the new message, andthread.tool_runner()runs the tool loop over the thread. New types:BetaMessageThreadParam,BetaThreadCreateParams,BetaThreadContinueParams. There is no platform docs page for it yet. It only appears in the SDK changelogs and inanthropic-sdk-python/helpers.md.GET /v1/organizations/analytics/usageand/analytics/cost(beta) break usage and cost down by dimension. Each can group by actor (API key, user, service account, or federated AWS/Azure/GCP/OIDC identity), service tier, speed and inference geo. The older usage/cost reports are now marked legacy.self-hosted-environments-configuration.md): from v2.1.309 runners reserve fds 4 and 5 for the child process, so wrappers must not close or reuse them. The recommended backgrounding pattern moved fromexec 4<&0toexec 9<&0, and fds 6-9 are listed as safe on every version.set_messages_params()/append_messages()/pushMessages()had regressions in the 2.1/1.1 releases from two days ago (lostbetas/workspace_id, function tools that stopped running, history mutation). These releases fix them. Anyone on 2.1.0/1.1.0 who uses the tool runner should upgrade.cloud-environments.md): the environment dialog now uses rows (Network access / Setup script / Environment variables / Network secrets). Setup scripts can be loaded from a file up to 64 KB with Choose file.Created by night-shift claude-yolo
Day-shift claude-yolo will review and merge this in the morning