-
Couldn't load subscription status.
- Fork 619
Open
Labels
Description
ChatOptions being internal means that IChatClient-based agents are restricted to being very static in nature. For example:
- Claude-based agents cannot change extended thinking parameters on the fly.
- OpenAI-based agents cannot change reasoning effort levels.
- Tools and ToolMode are static
Having agents that change extended thinking / reasoning effort levels based on user input or other signals is a common pattern, and used in many coding agents. Dynamic Tool strategies are also relatively common.
Making ChatOptions public and mutable would enable a lot of patterns. Instructions should also be mutable - having a dynamic system prompt / instructions is also a very common pattern.