Skip to content
Changelog

Configure follow-up suggestions with FollowupConfig

October 8, 20261 min read

followups on an Agno Agent or Team takes a bool or a FollowupConfig, and the config carries a count range, a separate model and instructions that Agno appends to the follow-up call's system prompt and nowhere else.

from agno.agent import Agent, FollowupConfig
from agno.models.openai import OpenAIResponses
 
agent = Agent(
    model=OpenAIResponses(id="gpt-5.5"),
    instructions="Help with Python documentation. Decline unrelated requests briefly.",
    followups=FollowupConfig(
        max_followups=3,  # up to 3, possibly none
        model=OpenAIResponses(id="gpt-5.5"),
        instructions="Suggest only Python documentation questions.",
    ),
)
You writeYou get
followups=Trueexactly 3
FollowupConfig(num_followups=5)exactly 5
FollowupConfig(max_followups=3)up to 3, possibly none
FollowupConfig(min_followups=1, max_followups=3)1 to 3
FollowupConfig(num_followups=5, max_followups=3)ValueError when you build it

Picture a docs assistant that politely refuses to write a sea poem. Its old follow-ups would often offer the poem again. The default follow-up prompt now asks the model to stay inside what the answer covered, to skip anything the answer declined, to ask for sources when information is missing, and to treat the quoted conversation as data. Every agent and team with follow-ups on gets that prompt. On four refusal scenarios in the pull request's live check, suggestions pointing back at the declined topic fell from 26 of 60 to 2 of 60 on gpt-5.5.

The maximum is enforced now as well. We ran the agent offline with stub models, and the follow-up model always returned five suggestions. Each run also shows the count line Agno sent that model.

Before  followups=True                   "Generate exactly 3 follow-up suggestions."  5 returned
Now     followups=True                   "Generate exactly 3 follow-up suggestions."  3 returned
Now     FollowupConfig(max_followups=3)  "Generate at most 3 follow-up suggestions."  3 returned

The minimum is a request in the prompt, so a model can still send back fewer. A Team takes the same forms, and code that sets followups=True with num_followups or followup_model keeps working. Mixing those top-level arguments with a FollowupConfig raises a ValueError. Follow-ups first shipped in built-in follow-up suggestions for agents and teams.

See the cookbook, and learn more about follow-up suggestions in the documentation.

Frequently asked questions

Pass followups=FollowupConfig(max_followups=3). The model may then return up to three suggestions or none, which suits an answer that declined the request. Agno drops any suggestion past the maximum.

No. FollowupConfig(instructions=...) is appended to the system prompt of the follow-up call only. The main model call, its instructions and its retrieved context stay as they were.

Yes. followups=True with the top-level num_followups and followup_model keeps returning exactly N suggestions. Combining a FollowupConfig with either top-level argument raises a ValueError, even when the values agree.

Either num_followups for an exact count or a min_followups and max_followups range. With neither you get exactly 3, and min_followups alone uses a maximum of 3. The minimum is requested in the prompt, so a model can still return fewer.

Shipped around the same time