Thinking
A processing state that shows AI's reasoning process and the information it considered before producing a final response.
A processing state that shows AI's reasoning process and the information it considered before producing a final response.
AI reasons before responding. This means it processes what a user enters, evaluates patterns, and generates answers. Surfacing this reasoning gives users visibility into how AI approached a problem and what it considered before responding. This is known as thinking, a user-facing way to communicate that AI performed analysis and reasoning before generating a response.
Thinking surfaces internal reasoning, not execution. Execution is when AI carries out a structured workflow such as checking nodes, querying services, or completing multi-step tasks. Thinking may involve searches or references along the way, but these support its thinking, rather than representing tasks to be tracked.
Thinking makes invisible reasoning visible. When users see thinking, it helps them understand what information was considered, how AI approached the problem, and why a response may take longer. Expanding thinking details allows users to review AI’s reasoning, building confidence in the quality and relevance of the final response.
Sometimes AI can return a response before its thinking fully completes, based on what's been processed so far. This means users can skip reasoning to get faster responses. This control is valuable when the task doesn't require full depth of analysis that AI's thinking may provide.
Thinking is in the active state while AI is performing additional reasoning before generating a response.


Thinking is shown as an expandable section and signals AI is reasoning before generating a response. Collapsed by default is recommended for chat interfaces where the response is the primary content. When the response is not the primary content, such as a code editor, document editor, or dashboard, consider displaying the thinking expanded by default so users can review the reasoning in context.
Thinking content provides insight into AI’s reasoning. Thinking content can include plain text narration describing the approach to a response, steps showing structured reasoning activities, or a combination of both. Content displays chronologically as AI reasons and remains unchanged after thinking completes. Use inline code to distinguish technical identifiers, configuration values, and resource names within thinking content (for example, region names, memory allocations, or resource IDs). When referencing external sources during thinking, display them as an external link so users can navigate directly to the source material. Use descriptive link text instead of full URLs. See Generative AI loading states for guidance on streaming thinking content as it is generated.
A skip thinking option allows users to request an immediate response and cancel thinking. Only show a skip option when the system can deliver a meaningful response without AI completing its thinking. When the user skips thinking, the reasoning completed up to that point remains visible.
Thinking enters the completed state when additional reasoning finishes or when the user skips it.


This label indicates that the internal reasoning has completed and can be expanded to show additional content.
Displays the total time spent in the thinking state. Display duration only after thinking has completed or a user skipped thinking. See writing guidelines on how to display duration.
When AI performs additional reasoning before responding, surfacing the thinking helps users understand why a response may take longer and what it considered along the way. This applies whether reasoning is system-triggered based on the complexity of the user request, or user-selected when a user has explicitly chosen a deeper reasoning mode. For example, when a user asks a complex architectural question about optimizing a multi-region AWS deployment.
For a multi-region AWS deployment, Global Accelerator is the stronger choice over Route 53 latency-based routing for consistent low-latency routing. For your data layer, DynamoDB global tables will give you lower replication overhead than Aurora Global Database, though Aurora is worth considering if you need complex relational queries across regions.
In contexts where the cost of a wrong decision is high, such as security configuration, compliance, or infrastructure changes, displaying thinking gives users visibility into how AI approached a problem before they act on its response.
When an agent is deciding how to approach a problem, which service to query, or how to prioritize tasks, surfacing that decision-making process gives users a chance to review the agent's plan before execution begins. For example, before an agent begins diagnosing a Lambda timeout issue, it thinks through whether to suggest memory allocation, VPC configuration, or timeout settings first.
Use sentence case, but continue to capitalize proper nouns and brand names correctly in context.
Use end punctuation, except in headers and buttons. Don’t use exclamation points.
Use present-tense verbs and active voice.
Don't use please, thank you, ellipsis (...), ampersand (&), e.g., i.e., or etc. in writing.
Avoid directional language.
For example: use previous not above, use following not below.
Use device-independent language.
For example: use choose or select not click.
The thinking label communicates there is additional reasoning occurring without over-explaining. Use a concise phrase that remains consistent while this reasoning is in progress.
For example: Thinking...
Use clear, action-oriented language. Avoid referencing internal reasoning terms or implying an incomplete response. Follow writing guidelines for inline link button.
For example: Skip thinking
The completed thought label communicates that the thinking has completed. Use descriptive, user-facing language. Display duration of thinking as simple, rounded values.
For example: Thought for 14s, Completed thinking
Write thought narrations as brief, easy to understand statements that describe the current activity.
Follow the guidelines on alternative text and Accessible Rich Internet Applications (ARIA) regions for each component.
Make sure to define ARIA labels aligned with the language context of your application.
Don't add unnecessary markup for roles and landmarks. Follow the guidelines for each component.
Provide keyboard functionality to all available content in a logical and predictable order. The flow of information should make sense.