#Telegram keeps saying typing
1 messages · Page 1 of 1 (latest)
Telegram’s “typing…” is just OpenClaw sending typing indicators while a run is active. If it keeps typing but no message arrives, it’s usually one of:
- the run is stuck/hung (LLM call or tool call never returns), or
- the run finishes but can’t deliver (Telegram API error / permissions / network), or
- the run returns silent output (e.g.
NO_REPLY) but your typing mode starts too early.
1) First: grab the exact failure from logs (most important)
Please run these in order, then reproduce once (send a message to the bot) while logs --follow is running:
openclaw --version
openclaw status
openclaw gateway status
openclaw channels status --probe
openclaw logs --follow
openclaw doctor
Then paste the log chunk around the moment it starts typing / fails to send (redact tokens).
Docs: https://docs.openclaw.ai/channels/troubleshooting
Runbook: https://docs.openclaw.ai/gateway/troubleshooting
What to look for in logs:
- Telegram API errors like 403/401 (bot blocked / missing permissions), 429 (rate limit), 400 (bad request), timeouts
- DNS / connectivity issues reaching
api.telegram.org(common on some VPS/IPv6/proxy setups)
2) Quick mitigation: make typing only start when a real message is streaming
If the “typing forever” is mainly confusing/noisy, set typing to start later (or disable it) while you debug:
{
agents: {
defaults: {
typingMode: "message", // or "never"
typingIntervalSeconds: 6,
},
},
}
Reference: https://docs.openclaw.ai/concepts/typing-indicators
Config reference: https://docs.openclaw.ai/gateway/configuration-reference
3) One key Telegram gotcha: forum topics / general topic
If this is happening inside a Telegram forum supergroup topic, mention that in your reply. Older versions had edge-cases around message_thread_id (Telegram rejects sendMessage(...thread_id=1) for the “general topic”), which can manifest as “typing but no message”.
Telegram channel docs (topics section): https://docs.openclaw.ai/channels/telegram
Reply with:
openclaw --version- is this a DM, group, or forum topic?
- the log snippet around the failed send
…and I’ll tell you exactly which branch (hung run vs Telegram delivery failure vs silent reply) you’re hitting.
Screw that how do I stop from being asked exec calls on telegram
If you don’t want Telegram to ever prompt you for shell execution (“exec approvals” / “run this command?”), hard-disable the exec tool via tool policy.
Option A (simple): disable exec everywhere
In ~/.openclaw/openclaw.json (JSON5), add:
{
tools: {
deny: ["exec", "process"], // process is only for background exec sessions
},
commands: {
bash: false, // make sure chat-triggered shell commands are off
},
agents: {
defaults: {
elevatedDefault: "off", // don’t use elevated mode by default
},
},
}
Restart the gateway after changing config.
Docs:
- Exec tool (and how to hard-disable it): https://docs.openclaw.ai/tools/exec
- Elevated mode (/elevated): https://docs.openclaw.ai/tools/elevated
- Config reference: https://docs.openclaw.ai/gateway/configuration-reference
Option B: only stop the prompts (not recommended if you want “no exec”)
If you actually still want exec to run but don’t want approvals, that’s a different goal (/elevated full skips approvals). But from what you wrote, you want zero exec → use Option A.
If you tell me whether you want (1) no exec at all or (2) exec but no approval prompts, I’ll point you at the cleanest config for that exact behavior.
I don’t any prompts
If you mean “I never want OpenClaw to ask me to approve / run exec commands (no approval prompts)”, the clean fix is: disable exec entirely.
In ~/.openclaw/openclaw.json (JSON5), add:
{
tools: {
deny: ["exec", "process"], // process is only for background exec sessions
},
commands: {
bash: false, // make sure chat-triggered shell commands are off
},
agents: {
defaults: {
elevatedDefault: "off",
},
},
}
Restart the gateway after saving.
Refs:
- Exec tool (hard-disable via tool policy): https://docs.openclaw.ai/tools/exec
- Elevated mode: https://docs.openclaw.ai/tools/elevated
If you previously enabled elevated in that Telegram session, also send /elevated off once in the Telegram chat to reset the session override.
I turned on auto approve for telegram
“Auto-approve” for Telegram can mean a couple different things in OpenClaw. Here’s how to undo each one.
1) If you enabled /elevated full (this skips exec approvals)
In the Telegram chat, send:
/elevated(shows current mode)/elevated off(turns it off for that session)
Docs: https://docs.openclaw.ai/tools/elevated
2) If you enabled Exec auto-approvals (Nodes → Exec approvals)
That setting is host/node-level, not Telegram-specific. Turn it back to safe defaults in Control UI → Nodes → Exec approvals (Gateway or your Node):
security: deny(orallowlistif you really need some commands)ask: on-miss(oralwaysif you want prompts)askFallback: deny- disable
autoAllowSkills
Docs: https://docs.openclaw.ai/tools/exec-approvals
3) If you want no prompts ever, the clean solution is: disable exec completely
In ~/.openclaw/openclaw.json:
{
tools: { deny: ["exec", "process"] },
agents: { defaults: { elevatedDefault: "off" } },
commands: { bash: false },
}
Restart the gateway after.
If you tell me where you turned on “auto-approve” (Telegram command vs Control UI vs config), I’ll tell you the exact one to flip back.
I put elevated on full on telegram
That’s the one.
In the Telegram chat, send this as a standalone message:
/elevated off
(Optional sanity check first: send /elevated to see the current state.)
That will stop “full” mode (which auto-approves exec). Docs: https://docs.openclaw.ai/tools/elevated
I want it to auto approve though
What you’re calling “auto-approve on Telegram” is actually exec approvals / elevated mode, not a Telegram setting.
You’ve got 2 ways to get no prompts:
Option 1 (dangerous): auto-approve everything (what /elevated full does)
To make that permanent (so you don’t have to type /elevated full every time), set:
{
agents: {
defaults: {
elevatedDefault: "full",
},
},
}
But: do this only if your Telegram is locked down, otherwise anyone who can talk to your bot can potentially cause host commands to run.
At minimum, also restrict Telegram to just you:
{
channels: {
telegram: {
dmPolicy: "allowlist",
allowFrom: ["tg:123456789"], // your Telegram numeric user id
groupPolicy: "disabled", // strongly recommended
},
},
}
Telegram docs (allowFrom, dmPolicy): https://docs.openclaw.ai/channels/telegram
Elevated docs: https://docs.openclaw.ai/tools/elevated
Restart gateway after editing config.
Option 2 (recommended): auto-approve only allowlisted commands
Instead of “full trust”, configure Exec approvals to:
security: allowlistask: off
…and add the specific binaries you want allowlisted (rg, git, etc). That way it never prompts, but also doesn’t allow arbitrary commands.
Docs: https://docs.openclaw.ai/tools/exec-approvals
If you tell me whether you’re running exec on the Gateway host or a Node (macOS app/headless node host), I can point you to exactly where to set that (Control UI → Nodes → Exec approvals vs editing ~/.openclaw/exec-approvals.json).
how do i stop the allways typing on telegram without me messing up the json?
You can change typing behavior without hand-editing JSON by using the CLI config setter (it writes valid JSON5 for you).
Stop Telegram “typing…” as much as possible
Set typing to only start when OpenClaw is actually outputting message text:
openclaw config set agents.defaults.typingMode "message"
openclaw gateway restart
If you want it completely gone everywhere:
openclaw config set agents.defaults.typingMode "never"
openclaw gateway restart
(You can also slow down the refresh spam:)
openclaw config set agents.defaults.typingIntervalSeconds 15
openclaw gateway restart
Typing modes reference: https://docs.openclaw.ai/concepts/typing-indicators
If Telegram is “typing forever” because a run is actually stuck (LLM call/tool call hanging), changing typingMode will hide it, but the underlying hang will still be there. If you want, paste the relevant openclaw logs --follow lines when it happens and we can pinpoint the stuck part.
its not doing the typing forever anymore