Files
clawdbot/docs/concepts/typing-indicators.md
2026-01-07 21:58:54 +00:00

1.8 KiB
Raw Blame History

summary, read_when
summary read_when
When Clawdbot shows typing indicators and how to tune them
Changing typing indicator behavior or defaults

Typing indicators

Typing indicators are sent to the chat provider while a run is active. Use agent.typingMode to control when typing starts and typingIntervalSeconds to control how often it refreshes.

Defaults

When agent.typingMode is unset, Clawdbot 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

Set agent.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 — start typing on the first reasoning delta (requires reasoningLevel: "stream" for the run).
  • message — start typing on the first non-silent text delta (ignores the NO_REPLY silent token).

Order of “how early it fires”: nevermessagethinkinginstant

Configuration

{
  agent: {
    typingMode: "thinking",
    typingIntervalSeconds: 6
  }
}

You can override the refresh cadence per session:

{
  session: {
    typingIntervalSeconds: 4
  }
}

Notes

  • message mode wont show typing for silent-only replies (e.g. the NO_REPLY token used to suppress output).
  • thinking only fires if the run streams reasoning; if the model doesnt emit reasoning deltas, typing wont start.
  • Heartbeats never show typing, regardless of mode.
  • typingIntervalSeconds controls the refresh cadence, not the start time. The default is 6 seconds.