Typing indicators
Typing indicators are sent to the chat channel while a run is active. Useagents.defaults.typingMode to control when typing starts and typingIntervalSeconds
to control how often it refreshes.
Defaults
Whenagents.defaults.typingMode is unset, Fased keeps the legacy behavior:
- Direct chats: typing starts immediately once the model loop begins.
- Group chats with a mention: typing starts immediately.
- Group chats without a mention: typing starts only when message text begins streaming.
- Heartbeat runs: typing is disabled.
Modes
Setagents.defaults.typingMode to one of:
never— no typing indicator, ever.instant— start typing as soon as the model loop begins, even if the run later returns only the silent reply token.thinking— delay run-start typing and start when the run produces renderable text/reasoning activity. It is most useful withreasoningLevel: "stream".message— start typing on the first non-silent text delta (ignores theNO_REPLYsilent token).
message and thinking wait for visible activity;
instant starts at run start. Tool activity can start typing earlier in any
enabled mode.
Configuration
Notes
messagemode won’t show typing for silent-only replies (e.g. theNO_REPLYtoken used to suppress output).- Tool execution can start or refresh typing in any enabled mode so channels do not look idle during a visible tool-backed response.
thinkingis best with streamed reasoning. If the model does not emit reasoning deltas, visible text can still start typing once renderable output exists.- Heartbeats never show typing, regardless of mode.
typingIntervalSecondscontrols the refresh cadence, not the start time. The default is 6 seconds.