Benefits of Claude Sonnet 5.5 for Cloud Operations Teams
Incident triage is mostly reading: alerts, logs, recent deploys, runbooks. When the job is reading, price per token decides whether a model sees every page or only the scary ones.
That is the case for Claude Sonnet 5.5 cloud operations work. Anthropic released it on September 28, 2026 at $2 per million input tokens and $10 per million output tokens, unchanged from Sonnet 5.
Five Claude Sonnet 5.5 cloud operations benefits
Triage every alert for pennies
A triage call that reads 20,000 tokens of alert, logs and recent deploys and writes 1,000 tokens back costs about $0.05 (my arithmetic, so use your own sizes). A thousand a day is $50. Anthropic says Sonnet 5.5 runs about 30% faster and costs up to 30% less per task than Sonnet 5 in its own testing, so measure on your alerts first.
Cache the runbook and pay a tenth for it
Every triage call opens with the same runbook, service catalog and escalation policy. Prompt caching bills cache reads at $0.20 per million tokens, a tenth of base input. A 30,000-token prefix costs $0.06 uncached and $0.006 on a cache read. The write costs $2.50 per million and lasts 5 minutes by default, or an hour with "ttl": "1h".
import anthropic
client = anthropic.Anthropic()
RUNBOOK = open("runbook.md").read() # runbook, service catalog, escalation policy
def triage(alert_bundle: str):
response = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=2000,
cache_control={"type": "ephemeral"}, # default 5-minute lifetime
output_config={"effort": "medium"},
system=RUNBOOK,
messages=[{"role": "user", "content": alert_bundle}],
)
usage = response.usage
print(usage.cache_creation_input_tokens, usage.cache_read_input_tokens)
return response
If cache_read_input_tokens is zero on the second call, something in the prefix changed. Editing tool definitions invalidates every cache level, so keep the tool list stable.
Batch the work nobody is waiting for
Runbook drafts, post-incident write-ups and review backlogs don't need an answer in seconds. The Message Batches API takes 50% off input and output, most batches finish within an hour, and unfinished ones expire at 24 hours. Drafting 200 runbooks at about 4,000 tokens in and 3,000 out costs $7.60 normally and $3.80 batched (my arithmetic).
import anthropic
from anthropic.types.message_create_params import MessageCreateParamsNonStreaming
from anthropic.types.messages.batch_create_params import Request
client = anthropic.Anthropic()
services = ["payments-api", "checkout-web"] # your service list
batch = client.messages.batches.create(
requests=[
Request(
custom_id=f"runbook-{name}",
params=MessageCreateParamsNonStreaming(
model="claude-sonnet-5-5",
max_tokens=8000,
messages=[{"role": "user", "content": f"Draft a runbook for {name} from its Terraform config."}],
),
)
for name in services
]
)
print(batch.id, batch.processing_status) # in_progress until the batch ends
Poll processing_status until it reads ended, then iterate client.messages.batches.results(batch.id).
Review a whole change in one request
Sonnet 5.5 takes 1M tokens of context, roughly 555,000 words by Anthropic's count. A big Terraform plan, the module diff and your change policy fit in one request, no chunking pipeline. Test whether it catches the one dangerous line before it becomes a gate.
Run it on the cloud you already use
One model, five doors: the Claude API, Amazon Bedrock (anthropic.claude-sonnet-5-5), Google Cloud, Microsoft Foundry and Claude Platform on AWS (claude-sonnet-5-5 on the other four). A multi-cloud team keeps one prompt set and one eval suite. Prices above are Anthropic's; confirm pricing and regions on your platform.
When Sonnet 5.5 is not worth it
Anthropic positions Opus 5.5 for complex work needing careful judgment and Sonnet 5.5 for well-scoped everyday tasks. A novel multi-region outage with no obvious suspect is the first kind, and Opus 5.5 costs $4 / $20 per million, double. Send only those there.
If you only label severity at high volume, Haiku 4.5 ($1 / $5, 200K context) may be enough, so test it.
Claude Sonnet 5.5 API changes that break on upgrade
The model ID swap is one line, but five breaking changes hit code running on Sonnet 5.
Thinking is adaptive, and disabled returns a 400
Adaptive thinking is on by default, with effort at high. Sending thinking: {"type": "disabled"} returns a 400; between_tools is the lowest setting and works at high effort or below. Effort is recalibrated; for latency-sensitive work the docs suggest starting at medium or low.
response = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=16000,
# Sonnet 5 accepted {"type": "disabled"}; Sonnet 5.5 returns a 400
thinking={"type": "between_tools"},
output_config={"effort": "high"},
messages=[{"role": "user", "content": "..."}],
)
Forced tool choice is replaced by strict tools
tool_choice of any or tool returns a 400. Keep auto, set strict: true, and say in the prompt when the tool applies. Strict schemas need additionalProperties: false on every object. For Amazon Bedrock the migration guide says auto alone, so validate tool input yourself there.
import anthropic
client = anthropic.Anthropic()
classify_incident = {
"name": "classify_incident",
"description": "Record the severity and owning team for an incident",
"strict": True,
"input_schema": {
"type": "object",
"properties": {
"severity": {"type": "string", "enum": ["sev1", "sev2", "sev3"]},
"owning_team": {"type": "string"},
},
"required": ["severity", "owning_team"],
"additionalProperties": False,
},
}
response = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=2000,
tools=[classify_incident],
tool_choice={"type": "auto"}, # {"type": "tool", ...} now returns a 400
messages=[{"role": "user", "content": "Classify this alert with classify_incident: ..."}],
)
Gotchas
- Non-default
temperature,top_portop_kreturns a 400. - Text between tool calls arrives in
thinkingblocks, empty by default, so a chat-ops bot that streams progress notes goes quiet. Setthinking.displayor usebetween_tools. - Keep incident threads append-only. Editing the system prompt, tools or earlier messages and then replaying a Sonnet 5.5 thinking block can return a 400, so use mid-conversation system messages for mid-incident changes.
Sonnet 5.5 is cheap enough to sit in front of every alert and change, if you budget for the migration traps and keep Opus 5.5 for incidents that earn it.