0PricingLogin
Claude Architect · Lesson

Full History Is Required

Every request carries the entire conversation.

The Model Keeps No State

The most important fact about the Claude API: the model is stateless. It remembers nothing between requests. There is no hidden session on Anthropic's side holding your earlier turns.

Every time you call the API, you send the entire conversation history in the messages array. If a fact isn't in that array, the model simply doesn't know it — even if it told you the same fact thirty seconds ago.

For a Claude Certified Architect, internalizing this changes how you design every multi-turn system, agentic loop, and multi-agent handoff.

Anatomy of a Request

A Claude API request carries a fixed set of fields. The ones you'll touch on every turn:

  • model — which Claude model to call
  • max_tokens — output budget
  • system — the system prompt (instructions, persona, rules)
  • messages — the full conversation history as an array of role/content objects
  • tools and tool_choice — optional tool definitions and selection control

Notice what is NOT here: any kind of conversation ID or session token. State lives entirely in what you resend.

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    system="You are a concise travel assistant.",
    messages=[
        {"role": "user", "content": "I want to visit Japan in spring."}
    ],
)

All lessons in this course

  1. Full History Is Required
  2. Progressive Summarization Risks
  3. Lost-in-the-Middle Effect
  4. Case-Facts Blocks & Trimming Output
← Back to Claude Architect