# content_blocks

```python
result = agent.invoke({"messages": [{"role": "user", "content": "..."}]})
print(result["messages"][-1].content_blocks)
```

## Where it works

Standard content block support is implemented in: langchain-anthropic, langchain-aws, langchain-openai, langchain-google-genai, langchain-ollama. Broader provider support is still landing.

## Rules

- Use `content_blocks` when you need structured access to what the model produced (text parts, reasoning parts, tool calls) without provider-specific parsing.
- Fall back to `message.content` when the provider does not implement blocks yet. It remains valid and is not deprecated.
- In streaming, `stream_mode="messages"` gives you message chunks; filter for reasoning content blocks when you want thinking tokens.