#Telegram Bot stuck on "typing..." after first message
1 messages · Page 1 of 1 (latest)
Yep — this sounds like two separate issues:
- config is now invalid, so the gateway can’t boot
- the earlier “typing forever” was probably the agent run hanging/failing after Telegram accepted the message — usually model auth/runtime/tool-call failure, not Telegram pairing itself
First, don’t delete anything. Make a backup and let doctor try to repair the broken config:
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.broken.$(date +%Y%m%d-%H%M%S)
openclaw config validate
openclaw doctor --fix
openclaw gateway restart
openclaw gateway status
openclaw status --all
If config validate shows JSON/config errors, paste that error here, but redact tokens/API keys.
If the gateway still fails, check the exact startup error:
openclaw logs --tail 200
# if that cannot reach the gateway, use:
tail -n 200 "$(ls -t /tmp/openclaw/openclaw-*.log | head -1)"
For the Telegram “typing…” part, once the gateway is running again, test these:
openclaw models status
openclaw channels status
openclaw channels logs --channel telegram
openclaw logs --tail 200
Things I’d specifically look for in those logs:
- Gemini credentials not loaded by the gateway service environment
- model/tool-call/schema errors during the agent run
- Telegram channel is paired, but delivery/send fails afterward
- config file path mismatch — editing one config while the service uses another
If you want the fastest “back to working baseline” path and doctor can’t repair it, move only the broken config aside, keep the rest of ~/.openclaw intact, then re-run setup:
mv ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.broken.$(date +%Y%m%d-%H%M%S)
openclaw onboard
# or: openclaw configure
openclaw gateway restart
That preserves most state beside the config instead of nuking the install.
Docs for the relevant bits: https://docs.openclaw.ai/help/faq and https://docs.openclaw.ai/gateway/troubleshooting
Paste the output of openclaw gateway status + openclaw status --all after doctor --fix and I’ll help read it. 🦞
Two things here.
For Dashboard: don’t expose 18789 directly over plain http://SERVER_IP:18789 if you can avoid it. The errors you’re seeing are expected-ish security guardrails:
origin not allowed= the browser origin is not ingateway.controlUi.allowedOriginssecure context/device identity required= browser device auth can’t complete from that insecure remote context
Fastest working path without a domain/HTTPS: use an SSH tunnel and keep the gateway on loopback.
openclaw config set gateway.bind loopback
openclaw gateway restart
From your laptop:
ssh -L 18789:127.0.0.1:18789 root@YOUR_DROPLET_IP
Then open:
http://127.0.0.1:18789/
That avoids the remote-origin/browser secure-context mess entirely. If you later want public-ish browser access, use Tailscale Serve or HTTPS reverse proxy, then set gateway.controlUi.allowedOrigins to the exact origin. Don’t use ['*'] except throwaway testing.
For Telegram stuck on “typing…”: if Telegram: OK and models status says auth OK, the next thing is the actual agent run log. Also, this key is wrong/outdated for exec approvals:
gateway.exec.approval.mode
The current exec knobs are:
openclaw config get tools.exec.host
openclaw config get tools.exec.security
openclaw config get tools.exec.ask
If you were trying to stop exec approval hangs, the documented reset is:
openclaw config set tools.exec.host gateway
openclaw config set tools.exec.security full
openclaw config set tools.exec.ask off
openclaw gateway restart
But I wouldn’t assume exec is the cause yet. Please trigger one Telegram message, wait ~20–30 seconds, then paste the redacted output of:
openclaw logs --tail 300
openclaw channels logs --channel telegram
openclaw agent --agent main --message "Say only: test ok" --timeout 120 --json
That last command tells us whether the agent/model path itself completes when Telegram delivery is removed from the equation. If the CLI agent run also hangs/fails, it’s model/runtime/tooling. If it succeeds, it’s Telegram streaming/final delivery.
Docs: https://docs.openclaw.ai/web/control-ui, https://docs.openclaw.ai/channels/telegram, https://docs.openclaw.ai/gateway/troubleshooting
Good catch — this log explains the Telegram “typing forever”. Telegram is not the root problem.
Your agent is actually trying to run:
requested=openai/o4-mini
model=o4-mini provider=openai
…and OpenAI is rejecting it:
400 Your organization must be verified to generate reasoning summaries
So despite what you intended, this run is not using Gemini. It’s hitting OpenAI o4-mini, failing before it can produce a reply, then Telegram only manages to send the error/fallback message.
Fix path:
openclaw models status
openclaw config get agents.defaults.model --json
openclaw models fallbacks list
Then set the actual default to the Gemini model you want using the exact model id shown by your install:
openclaw models list --provider google
# or whatever provider name your Gemini entry appears under
openclaw models set <provider/model-from-list>
openclaw models fallbacks clear
openclaw gateway restart
After restart, verify it no longer says OpenAI/o4-mini:
openclaw models status
openclaw agent --agent main --message "Say only: test ok" --timeout 120 --json
If that succeeds, Telegram should stop sticking on typing. Send one Telegram message and tail:
openclaw logs --tail 100
Also: the liveness warning shows the droplet is getting hammered (eventLoopUtilization=0.959, high CPU/event loop delay). On a tiny DO droplet, model prewarm + gateway + agent work can look “stuck” under load. But the immediate failure here is the wrong model/provider + OpenAI org verification error.
Yep — you can stay on OpenAI. Topping up balance fixes billing, but this specific error is OpenAI org verification, not credits.
You have two OpenAI-only paths:
Option A: verify the OpenAI org
OpenAI is rejecting reasoning summaries for your org:
Your organization must be verified to generate reasoning summaries
Go to the exact OpenAI org shown by your API key and verify it here:
https://platform.openai.com/settings/organization/general
Then wait ~15 minutes and retry.
Option B: stop OpenClaw from asking OpenAI for reasoning summaries
Your current o4-mini run is going through a reasoning-model path. Disable thinking for the agent/session:
openclaw config set agents.defaults.thinkingDefault off
openclaw config set agents.defaults.reasoningDefault off
openclaw gateway restart
Then in Telegram send:
/think off
And test from CLI:
openclaw agent --agent main --message "Say only: test ok" --thinking off --timeout 120 --json
If it still errors, switch to a different OpenAI model from your local catalog that doesn’t require reasoning-summary access:
openclaw models list --provider openai
openclaw models set <openai/model-from-that-list>
openclaw models fallbacks clear
openclaw gateway restart
I’d avoid o* reasoning models until either org verification is done or the --thinking off test proves clean.
Also: gateway.exec.approval.mode won’t help here — this isn’t an exec approval hang, it’s the LLM request being rejected upstream by OpenAI.
That one is actually good news: the gateway is already running, so don’t start a second foreground gateway process.
Use restart/status instead of openclaw gateway:
openclaw gateway restart
openclaw gateway status
openclaw status
If restart complains because the service is wedged, then stop/start the supervised service once:
openclaw gateway stop
openclaw gateway start
openclaw gateway status