Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
One change · api

DCF Model Rubric changed

managed-agents/define-outcomes

Nearest release: v2.1.238, published under an hour after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Recorded here
Lines+17added
Lines−17removed
From line 70 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits8to this page, all time

The whole hunk

from line 70, old and new numbered
/
lines
from line 70
7070 ```
7171 
7272 ```bash CLI
73 RUBRIC_ID=$(ant beta:files upload \
73 RUBRIC_ID=$(ant files upload \
7474 --file /tmp/rubric.md \
7575 --transform id --raw-output)
7676 ```
from line 94
9494 """
9595 Path("/tmp/rubric.md").write_text(RUBRIC)
9696 
97 rubric = client.beta.files.upload(file=Path("/tmp/rubric.md"))
97 rubric = client.files.upload(file=Path("/tmp/rubric.md"))
9898 print(f"Uploaded rubric: {rubric.id}")
9999 ```
100100 
from line 117
117117 `;
118118 await writeFile("/tmp/rubric.md", RUBRIC);
119119 
120 const rubric = await client.beta.files.upload({
120 const rubric = await client.files.upload({
121121 file: await toFile(readFile("/tmp/rubric.md"), "/tmp/rubric.md"),
122122 });
123123 console.log(`Uploaded rubric: ${rubric.id}`);
from line 127
127127 using Anthropic;
128128 using Anthropic.Models.Beta.Agents;
129129 using Anthropic.Models.Beta.Environments;
130 using Anthropic.Models.Beta.Files;
131130 using Anthropic.Models.Beta.Sessions;
132131 using Anthropic.Models.Beta.Sessions.Events;
132 using Anthropic.Models.Files;
133133 
134134 var client = new AnthropicClient();
135135 
from line 145
145145 """;
146146 await File.WriteAllTextAsync("/tmp/rubric.md", Rubric);
147147 
148 var rubric = await client.Beta.Files.Upload(new()
148 var rubric = await client.Files.Upload(new()
149149 {
150150 File = File.OpenRead("/tmp/rubric.md"),
151151 });
from line 188
188188 panic(err)
189189 }
190190 
191 uploaded, err := client.Beta.Files.Upload(ctx, anthropic.BetaFileUploadParams{
191 uploaded, err := client.Files.Upload(ctx, anthropic.FileUploadParams{
192192 File: anthropic.File(f, "rubric.md", "text/markdown"),
193193 })
194194 if err != nil {
from line 207
207207 import com.anthropic.models.beta.environments.BetaCloudConfigParams;
208208 import com.anthropic.models.beta.environments.EnvironmentCreateParams;
209209 import com.anthropic.models.beta.files.FileListParams;
210 import com.anthropic.models.beta.files.FileUploadParams;
211210 import com.anthropic.models.beta.sessions.SessionCreateParams;
212211 import com.anthropic.models.beta.sessions.events.BetaManagedAgentsTextRubricParams;
213212 import com.anthropic.models.beta.sessions.events.BetaManagedAgentsUserDefineOutcomeEventParams;
214213 import com.anthropic.models.beta.sessions.events.BetaManagedAgentsUserInterruptEventParams;
215214 import com.anthropic.models.beta.sessions.events.EventSendParams;
215 import com.anthropic.models.files.FileUploadParams;
216216 
217217 import java.io.InputStream;
218218 import java.nio.file.Files;
from line 234
234234 """;
235235 Files.writeString(Path.of("/tmp/rubric.md"), RUBRIC);
236236 
237 var rubric = client.beta().files().upload(
237 var rubric = client.files().upload(
238238 FileUploadParams.builder()
239239 .file(Path.of("/tmp/rubric.md"))
240240 .build());
from line 283
283283 MD
284284 File.write("/tmp/rubric.md", RUBRIC)
285285 
286 rubric = client.beta.files.upload(file: Pathname.new("/tmp/rubric.md"))
286 rubric = client.files.upload(file: Pathname.new("/tmp/rubric.md"))
287287 puts "Uploaded rubric: #{rubric.id}"
288288 ```
289289</CodeGroup>
from line 718
718718The agent writes output files to `/mnt/session/outputs/` inside the sandbox. Once the session is idle, fetch them through the [Files API](https://platform.claude.com/docs/en/build-with-claude/files) scoped to the session.
719719 
720720<Note>
721 Filtering by `scope_id` requires the `managed-agents-2026-04-01` beta header on the files request. The SDK files methods send only the files beta automatically, so the examples pass it explicitly.
721 Filtering by `scope_id` requires the `managed-agents-2026-04-01` beta header on the list request, so the SDK and CLI examples make that call through the `beta` namespace and pass the header explicitly. Downloading a file by ID needs no beta header.
722722</Note>
723723 
724724<CodeGroup>
from line 753
753753 --beta managed-agents-2026-04-01 \
754754 --transform 'data[0].id' --raw-output)
755755 if [[ -n $FILE_ID ]]; then
756 ant beta:files download --file-id "$FILE_ID" --output /tmp/output.txt
756 ant files download --file-id "$FILE_ID" --output /tmp/output.txt
757757 fi
758758 ```
759759 
from line 766
766766 
767767 # Download a file
768768 if files.data:
769 content = client.beta.files.download(files.data[0].id)
769 content = client.files.download(files.data[0].id)
770770 content.write_to_file("/tmp/output.txt")
771771 ```
772772 
from line 783
783783 
784784 // Download a file
785785 if (files.data.length > 0) {
786 const content = await client.beta.files.download(files.data[0].id);
786 const content = await client.files.download(files.data[0].id);
787787 await writeFile("/tmp/output.txt", new Uint8Array(await content.arrayBuffer()));
788788 }
789789 ```
from line 804
804804 // Download a file
805805 if (files.Items.Count > 0)
806806 {
807 using var download = await client.Beta.Files.Download(files.Items[0].ID);
807 using var download = await client.Files.Download(files.Items[0].ID);
808808 await using var output = File.Create("/tmp/output.txt");
809809 await (await download.ReadAsStream()).CopyToAsync(output);
810810 }
from line 826
826826 
827827 // Download a file
828828 if len(files.Data) > 0 {
829 resp, err := client.Beta.Files.Download(ctx, files.Data[0].ID, anthropic.BetaFileDownloadParams{})
829 resp, err := client.Files.Download(ctx, files.Data[0].ID)
830830 if err != nil {
831831 panic(err)
832832 }
from line 856
856856 
857857 // Download a file
858858 if (!files.data().isEmpty()) {
859 try (HttpResponse response = client.beta().files().download(files.data().getFirst().id())) {
859 try (HttpResponse response = client.files().download(files.data().getFirst().id())) {
860860 try (InputStream body = response.body()) {
861861 Files.copy(body, Path.of("/tmp/output.txt"), StandardCopyOption.REPLACE_EXISTING);
862862 }
from line 887
887887 
888888 # Download a file
889889 if (first = files.data.first)
890 content = client.beta.files.download(first.id)
890 content = client.files.download(first.id)
891891 File.binwrite("/tmp/output.txt", content.read)
892892 end
893893 ```