Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · api

mid-conversation-system-messages changedbuild-with-claude/mid-conversation-system-messages

Nearest release: v2.1.309, published under an hour before 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+51added
Lines−44removed
From line 283 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits26to this page, all time

The whole hunk

from line 283, old and new numbered
/
lines
from line 283
283283 // Withdraw get_weather from this point onward. The block references
284284 // the tool by name instead of editing Tools, so earlier turns stay
285285 // byte-identical and the cache still hits.
286 {
287 Role: anthropic.BetaMessageParamRoleSystem,
288 Content: []anthropic.BetaContentBlockParamUnion{
289 anthropic.NewBetaToolRemovalBlock(anthropic.BetaToolChangeToolReferenceParam{
290 Name: "get_weather",
291 }),
292 },
293 },
286 {OfSystem: &anthropic.BetaSystemMessageParam{
287 Content: []anthropic.BetaSystemMessageParamContentUnion{{
288 OfToolRemoval: &anthropic.BetaRequestToolRemovalBlockParam{
289 Tool: anthropic.BetaRequestToolRemovalBlockToolUnionParam{
290 OfToolReference: &anthropic.BetaToolChangeToolReferenceParam{
291 Name: "get_weather",
292 },
293 },
294 },
295 }},
296 }},
294297 },
295298 })
296299 if err != nil {
from line 785
782785 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("How many orders shipped yesterday?")),
783786 // Define db_query by value from this point onward. Tools and the
784787 // earlier messages stay exactly as sent, so the cache still hits.
785 {
786 Role: anthropic.BetaMessageParamRoleSystem,
787 Content: []anthropic.BetaContentBlockParamUnion{
788 anthropic.NewBetaToolAdditionBlock(anthropic.BetaToolChangeToolDefinitionParam{
789 Definition: anthropic.BetaToolUnionParam{OfTool: &anthropic.BetaToolParam{
790 Name: "db_query",
791 Description: anthropic.String("Run a read-only SQL query against the analytics database."),
792 InputSchema: anthropic.BetaToolInputSchemaParam{
793 Properties: map[string]any{
794 "sql": map[string]any{"type": "string"},
795 },
796 Required: []string{"sql"},
788 {OfSystem: &anthropic.BetaSystemMessageParam{
789 Content: []anthropic.BetaSystemMessageParamContentUnion{{
790 OfToolAddition: &anthropic.BetaRequestToolAdditionBlockParam{
791 Tool: anthropic.BetaRequestToolAdditionBlockToolUnionParam{
792 OfToolDefinition: &anthropic.BetaToolChangeToolDefinitionParam{
793 Definition: anthropic.BetaToolUnionParam{OfTool: &anthropic.BetaToolParam{
794 Name: "db_query",
795 Description: anthropic.String("Run a read-only SQL query against the analytics database."),
796 InputSchema: anthropic.BetaToolInputSchemaParam{
797 Properties: map[string]any{
798 "sql": map[string]any{"type": "string"},
799 },
800 Required: []string{"sql"},
801 },
802 }},
797803 },
798 }},
799 }),
800 },
801 },
804 },
805 },
806 }},
807 }},
802808 },
803809 })
804810 if err != nil {
from line 1372
13661372 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("What's on my calendar tomorrow?")),
13671373 // Make the calendar server's tools available from this point onward.
13681374 // The block names the server; it never holds a URL or token.
1369 {
1370 Role: anthropic.BetaMessageParamRoleSystem,
1371 Content: []anthropic.BetaContentBlockParamUnion{
1372 anthropic.NewBetaToolAdditionBlock(anthropic.BetaToolChangeToolDefinitionParam{
1373 Definition: anthropic.BetaToolUnionParam{OfMCPToolset: &anthropic.BetaMCPToolsetParam{
1374 MCPServerName: "calendar",
1375 }},
1376 }),
1377 },
1378 },
1375 {OfSystem: &anthropic.BetaSystemMessageParam{
1376 Content: []anthropic.BetaSystemMessageParamContentUnion{{
1377 OfToolAddition: &anthropic.BetaRequestToolAdditionBlockParam{
1378 Tool: anthropic.BetaRequestToolAdditionBlockToolUnionParam{
1379 OfToolDefinition: &anthropic.BetaToolChangeToolDefinitionParam{
1380 Definition: anthropic.BetaToolUnionParam{OfMCPToolset: &anthropic.BetaMCPToolsetParam{
1381 MCPServerName: "calendar",
1382 }},
1383 },
1384 },
1385 },
1386 }},
1387 }},
13791388 },
13801389 })
13811390 if err != nil {
from line 1830
18211830 // pass the team's strict typing policy. Appending the instruction
18221831 // here keeps earlier turns byte-identical, so the prefix cached by
18231832 // the previous request is still read from cache.
1824 {
1825 Role: anthropic.MessageParamRoleSystem,
1826 Content: []anthropic.ContentBlockParamUnion{
1827 anthropic.NewTextBlock("From now on, every suggestion must include explicit type annotations."),
1833 {OfSystem: &anthropic.SystemMessageParam{
1834 Content: []anthropic.TextBlockParam{
1835 {Text: "From now on, every suggestion must include explicit type annotations."},
18281836 },
1829 },
1837 }},
18301838 },
18311839 })
18321840 if err != nil {
from line 2232
22242232 Messages: []anthropic.BetaMessageParam{
22252233 anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Draft a short status update on the database migration for the team channel.")),
22262234 // Turn-scoped reminder: renders for this turn, then clears once a later user message exists.
2227 {
2228 Role: anthropic.BetaMessageParamRoleSystem,
2229 ClearAt: anthropic.BetaMessageParamClearAtNextUserMessage,
2230 Content: []anthropic.BetaContentBlockParamUnion{anthropic.NewBetaTextBlock("The reader is on call: keep this reply under 50 words.")},
2231 },
2235 {OfSystem: &anthropic.BetaSystemMessageParam{
2236 ClearAt: anthropic.BetaSystemMessageParamClearAtNextUserMessage,
2237 Content: []anthropic.BetaSystemMessageParamContentUnion{{OfText: &anthropic.BetaTextBlockParam{Text: "The reader is on call: keep this reply under 50 words."}}},
2238 }},
22322239 },
22332240 Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaMidConversationSystemClearAt2026_08_21},
22342241 })
Feedback