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

working-with-messages changed

build-with-claude/working-with-messages

Nearest release: v2.1.280, 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+40added
Lines−40removed
From line 31 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits7to this page, all time

The whole hunk

from line 31, old and new numbered
/
lines
from line 31
3131 -H "anthropic-version: 2023-06-01" \
3232 -H "content-type: application/json" \
3333 -d '{
34 "model": "claude-opus-5",
34 "model": "claude-opus-5-5",
3535 "max_tokens": 1024,
3636 "messages": [
3737 {"role": "user", "content": "Hello, Claude"}
from line 41
4141 
4242 ```bash CLI
4343 ant messages create \
44 --model claude-opus-5 \
44 --model claude-opus-5-5 \
4545 --max-tokens 1024 \
4646 --message '{role: user, content: "Hello, Claude"}'
4747 ```
from line 48
4848 
4949 ```python Python
5050 message = anthropic.Anthropic().messages.create(
51 model="claude-opus-5",
51 model="claude-opus-5-5",
5252 max_tokens=1024,
5353 messages=[{"role": "user", "content": "Hello, Claude"}],
5454 )
from line 59
5959 const anthropic = new Anthropic();
6060 
6161 const message = await anthropic.messages.create({
62 model: "claude-opus-5",
62 model: "claude-opus-5-5",
6363 max_tokens: 1024,
6464 messages: [{ role: "user", content: "Hello, Claude" }]
6565 });
from line 71
7171 
7272 var parameters = new MessageCreateParams
7373 {
74 Model = Model.ClaudeOpus5,
74 Model = Model.ClaudeOpus5_5,
7575 MaxTokens = 1024,
7676 Messages = [new() { Role = Role.User, Content = "Hello, Claude" }]
7777 };
from line 83
8383 client := anthropic.NewClient()
8484 
8585 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
86 Model: anthropic.ModelClaudeOpus5,
86 Model: anthropic.ModelClaudeOpus5_5,
8787 MaxTokens: 1024,
8888 Messages: []anthropic.MessageParam{
8989 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),
from line 99
9999 AnthropicClient client = AnthropicOkHttpClient.fromEnv();
100100 
101101 MessageCreateParams params = MessageCreateParams.builder()
102 .model(Model.CLAUDE_OPUS_5)
102 .model(Model.CLAUDE_OPUS_5_5)
103103 .maxTokens(1024L)
104104 .addUserMessage("Hello, Claude")
105105 .build();
from line 114
114114 $message = $client->messages->create(
115115 maxTokens: 1024,
116116 messages: [['role' => 'user', 'content' => 'Hello, Claude']],
117 model: 'claude-opus-5',
117 model: 'claude-opus-5-5',
118118 );
119119 echo json_encode($message, JSON_PRETTY_PRINT), PHP_EOL;
120120 ```
from line 123
123123 client = Anthropic::Client.new
124124 
125125 message = client.messages.create(
126 model: "claude-opus-5",
126 model: "claude-opus-5-5",
127127 max_tokens: 1024,
128128 messages: [
129129 { role: "user", content: "Hello, Claude" }
from line 144
144144 "text": "Hello!"
145145 }
146146 ],
147 "model": "claude-opus-5",
147 "model": "claude-opus-5-5",
148148 "stop_reason": "end_turn",
149149 "stop_sequence": null,
150150 "usage": {
from line 168
168168 -H "anthropic-version: 2023-06-01" \
169169 -H "content-type: application/json" \
170170 -d '{
171 "model": "claude-opus-5",
171 "model": "claude-opus-5-5",
172172 "max_tokens": 1024,
173173 "messages": [
174174 {"role": "user", "content": "Hello, Claude"},
from line 181
181181 
182182 ```bash CLI
183183 ant messages create \
184 --model claude-opus-5 \
184 --model claude-opus-5-5 \
185185 --max-tokens 1024 \
186186 --message '{role: user, content: "Hello, Claude"}' \
187187 --message '{role: assistant, content: "Hello!"}' \
from line 190
190190 
191191 ```python Python
192192 message = anthropic.Anthropic().messages.create(
193 model="claude-opus-5",
193 model="claude-opus-5-5",
194194 max_tokens=1024,
195195 messages=[
196196 {"role": "user", "content": "Hello, Claude"},
from line 205
205205 const anthropic = new Anthropic();
206206 
207207 const message = await anthropic.messages.create({
208 model: "claude-opus-5",
208 model: "claude-opus-5-5",
209209 max_tokens: 1024,
210210 messages: [
211211 { role: "user", content: "Hello, Claude" },
from line 221
221221 
222222 var parameters = new MessageCreateParams
223223 {
224 Model = Model.ClaudeOpus5,
224 Model = Model.ClaudeOpus5_5,
225225 MaxTokens = 1024,
226226 Messages =
227227 [
from line 239
239239 client := anthropic.NewClient()
240240 
241241 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
242 Model: anthropic.ModelClaudeOpus5,
242 Model: anthropic.ModelClaudeOpus5_5,
243243 MaxTokens: 1024,
244244 Messages: []anthropic.MessageParam{
245245 anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),
from line 257
257257 AnthropicClient client = AnthropicOkHttpClient.fromEnv();
258258 
259259 MessageCreateParams params = MessageCreateParams.builder()
260 .model(Model.CLAUDE_OPUS_5)
260 .model(Model.CLAUDE_OPUS_5_5)
261261 .maxTokens(1024L)
262262 .addUserMessage("Hello, Claude")
263263 .addAssistantMessage("Hello!")
from line 278
278278 ['role' => 'assistant', 'content' => 'Hello!'],
279279 ['role' => 'user', 'content' => 'Can you describe LLMs to me?'],
280280 ],
281 model: 'claude-opus-5',
281 model: 'claude-opus-5-5',
282282 );
283283 
284284 echo json_encode($message, JSON_PRETTY_PRINT), PHP_EOL;
from line 288
288288 client = Anthropic::Client.new
289289 
290290 message = client.messages.create(
291 model: "claude-opus-5",
291 model: "claude-opus-5-5",
292292 max_tokens: 1024,
293293 messages: [
294294 { role: "user", content: "Hello, Claude" },
from line 311
311311 "text": "Sure, I'd be happy to provide..."
312312 }
313313 ],
314 "model": "claude-opus-5",
314 "model": "claude-opus-5-5",
315315 "stop_reason": "end_turn",
316316 "stop_sequence": null,
317317 "usage": {
from line 323
323323 
324324### System role in messages
325325 
326On Claude Fable 5.1, [Claude Mythos 5.1](https://anthropic.com/glasswing), Claude Fable 5, [Claude Mythos 5](https://anthropic.com/glasswing), Claude Opus 4.8, and Claude Opus 5, you can include messages with `"role": "system"` after a user turn (subject to [placement rules](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#limitations)) to add a new system instruction partway through a conversation. A `system` message cannot be the first entry in `messages`. Use the top-level `system` field for instructions that apply from the start.
326On Claude Fable 5.1, [Claude Mythos 5.1](https://anthropic.com/glasswing), Claude Fable 5, [Claude Mythos 5](https://anthropic.com/glasswing), Claude Opus 5.5, Claude Opus 4.8, and Claude Opus 5, you can include messages with `"role": "system"` after a user turn (subject to [placement rules](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#limitations)) to add a new system instruction partway through a conversation. A `system` message cannot be the first entry in `messages`. Use the top-level `system` field for instructions that apply from the start.
327327 
328328A mid-conversation system message has the same authority as the top-level `system` field, but because it is appended to the end of the message history, it does not invalidate any cached prefix that came before it. Use the top-level `system` field for instructions that should apply from the very first turn, and a mid-conversation system message for instructions that only become relevant later.
329329 
from line 518
518518 -H "content-type: application/json" \
519519 -d @- <<EOF
520520 {
521 "model": "claude-opus-5",
521 "model": "claude-opus-5-5",
522522 "max_tokens": 1024,
523523 "messages": [
524524 {"role": "user", "content": [
from line 539
539539 -H "anthropic-version: 2023-06-01" \
540540 -H "content-type: application/json" \
541541 -d '{
542 "model": "claude-opus-5",
542 "model": "claude-opus-5-5",
543543 "max_tokens": 1024,
544544 "messages": [
545545 {"role": "user", "content": [
from line 560
560560 curl -s "$IMAGE_URL" -o ./vision-example.jpg
561561 
562562 ant messages create <<'YAML'
563 model: claude-opus-5
563 model: claude-opus-5-5
564564 max_tokens: 1024
565565 messages:
566566 - role: user
from line 576
576576 
577577 # Option 2: URL-referenced image
578578 ant messages create <<YAML
579 model: claude-opus-5
579 model: claude-opus-5-5
580580 max_tokens: 1024
581581 messages:
582582 - role: user
from line 600
600600 image_data = base64.standard_b64encode(httpx2.get(image_url).content).decode("utf-8")
601601 
602602 message = anthropic.Anthropic().messages.create(
603 model="claude-opus-5",
603 model="claude-opus-5-5",
604604 max_tokens=1024,
605605 messages=[
606606 {
from line 623
623623 
624624 # Option 2: URL-referenced image
625625 message_from_url = anthropic.Anthropic().messages.create(
626 model="claude-opus-5",
626 model="claude-opus-5-5",
627627 max_tokens=1024,
628628 messages=[
629629 {
from line 654
654654 const imageData = Buffer.from(imageArrayBuffer).toString("base64");
655655 
656656 const message = await anthropic.messages.create({
657 model: "claude-opus-5",
657 model: "claude-opus-5-5",
658658 max_tokens: 1024,
659659 messages: [
660660 {
from line 680
680680 
681681 // Option 2: URL-referenced image
682682 const messageFromUrl = await anthropic.messages.create({
683 model: "claude-opus-5",
683 model: "claude-opus-5-5",
684684 max_tokens: 1024,
685685 messages: [
686686 {
from line 721
721721 
722722 var parameters = new MessageCreateParams
723723 {
724 Model = Model.ClaudeOpus5,
724 Model = Model.ClaudeOpus5_5,
725725 MaxTokens = 1024,
726726 Messages =
727727 [
from line 749
749749 // Option 2: URL-referenced image
750750 var parametersFromUrl = new MessageCreateParams
751751 {
752 Model = Model.ClaudeOpus5,
752 Model = Model.ClaudeOpus5_5,
753753 MaxTokens = 1024,
754754 Messages =
755755 [
from line 799
799799 imageData := base64.StdEncoding.EncodeToString(imageBytes)
800800 
801801 message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
802 Model: anthropic.ModelClaudeOpus5,
802 Model: anthropic.ModelClaudeOpus5_5,
803803 MaxTokens: 1024,
804804 Messages: []anthropic.MessageParam{
805805 anthropic.NewUserMessage(
from line 815
815815 
816816 // Option 2: URL-referenced image
817817 messageFromURL, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
818 Model: anthropic.ModelClaudeOpus5,
818 Model: anthropic.ModelClaudeOpus5_5,
819819 MaxTokens: 1024,
820820 Messages: []anthropic.MessageParam{
821821 anthropic.NewUserMessage(
from line 859
859859 
860860 Message message = client.messages().create(
861861 MessageCreateParams.builder()
862 .model(Model.CLAUDE_OPUS_5)
862 .model(Model.CLAUDE_OPUS_5_5)
863863 .maxTokens(1024L)
864864 .addUserMessageOfBlockParams(base64Content)
865865 .build());
from line 881
881881 
882882 Message messageFromUrl = client.messages().create(
883883 MessageCreateParams.builder()
884 .model(Model.CLAUDE_OPUS_5)
884 .model(Model.CLAUDE_OPUS_5_5)
885885 .maxTokens(1024L)
886886 .addUserMessageOfBlockParams(urlContent)
887887 .build());
from line 917
917917 ],
918918 ],
919919 ],
920 model: 'claude-opus-5',
920 model: 'claude-opus-5-5',
921921 );
922922 echo $message;
923923 
from line 942
942942 ],
943943 ],
944944 ],
945 model: 'claude-opus-5',
945 model: 'claude-opus-5-5',
946946 );
947947 echo $message_from_url;
948948 ```
from line 959
959959 image_data = Base64.strict_encode64(Net::HTTP.get(URI(image_url)))
960960 
961961 message = client.messages.create(
962 model: "claude-opus-5",
962 model: "claude-opus-5-5",
963963 max_tokens: 1024,
964964 messages: [
965965 {
from line 985
985985 
986986 # Option 2: URL-referenced image
987987 message_from_url = client.messages.create(
988 model: "claude-opus-5",
988 model: "claude-opus-5-5",
989989 max_tokens: 1024,
990990 messages: [
991991 {
from line 1021
10211021 "text": "This image is a beautiful minimalist/flat-design illustration of a sunset landscape. Here's what it contains:\n\n**Sky & Sun:**\n- A warm gradient sky transitioning from golden-yellow at the top to deep orange toward the horizon\n- A large pale yellow sun positioned in the upper-right area\n\n**Birds:**\n- Three small silhouetted birds flying in the upper-left portion of the sky, depicted as simple \"M\" or \"v\" shapes\n\n**Mountains:**\n- Multiple layered mountain peaks in purple and maroon tones\n- The mountains overlap to create depth, with varying shades of dusty purple and deep burgundy\n\n**Water:**\n- A dark purple body of water at the bottom of the image\n- A reflection of the sun shown as horizontal cream/peach colored lines in the center-bottom area\n\nThe overall style is clean, geometric, and uses a warm sunset color palette (oranges, yellows, purples, and maroons), giving it a peaceful, serene aesthetic typical of modern vector/flat design artwork."
10221022 }
10231023 ],
1024 "model": "claude-opus-5",
1024 "model": "claude-opus-5-5",
10251025 "stop_reason": "end_turn",
10261026 "stop_sequence": null,
10271027 "usage": {