Anthropic Append Trailing User Message

Append a trailing user turn with append_trailing_user_message when a Claude 4.6 conversation ends on an assistant message.

Claude 4.6+ does not support assistant message prefill. Enable append_trailing_user_message to append a trailing user turn when the conversation ends with an assistant message (e.g. during reasoning).

The source below omits the thinking configuration on both reasoning models. Agno requires thinking to be explicitly enabled to run the Anthropic reasoning stage. Apply the correction below before running this example; otherwise these prompts do not exercise the trailing-message behavior.

append_trailing_user_message.py
"""
Anthropic Append Trailing User Message
======================================

Claude 4.6+ does not support assistant message prefill. Enable
`append_trailing_user_message` to append a trailing user turn when the
conversation ends with an assistant message (e.g. during reasoning).

Use `trailing_user_message_content` to customise the appended text (defaults to "continue").

Note: Claude 4.6+ models auto-detect and enable this flag automatically.
"""

from agno.agent import Agent
from agno.models.anthropic import Claude

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------

agent = Agent(
    model=Claude(id="claude-sonnet-4-6", append_trailing_user_message=True),
    reasoning_model=Claude(id="claude-opus-4-7"),
    markdown=True,
)

# With custom trailing content
agent_custom = Agent(
    model=Claude(
        id="claude-sonnet-4-6",
        append_trailing_user_message=True,
        trailing_user_message_content=".",
    ),
    reasoning_model=Claude(id="claude-opus-4-7"),
    markdown=True,
)

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    agent.print_response("What is 15 + 27?")
    agent_custom.print_response("What is 15 + 27?")

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno anthropic

Export your Anthropic API key

export ANTHROPIC_API_KEY="your_anthropic_api_key_here"

Run the example

Save the code above as append_trailing_user_message.py. In both agent definitions, replace the reasoning_model line with:

reasoning_model=Claude(id="claude-opus-4-7", thinking={"type": "adaptive"}),

This enables the reasoning stage that supplies the assistant turn. The final model then receives the default continue or the custom . as the trailing user message. Run:

python append_trailing_user_message.py

Full source: cookbook/90_models/anthropic/append_trailing_user_message.py