NVIDIA / NVIDIA/NemoClaw

[Ubuntu 26.04][Agent&Skills] Google Chat shows "OpenClaw is typing..." indefinitely when agent returns a silent reply (NO_REPLY)

Open
#8,554 0 comments 0 reactions 0 assignees View on GitHub
area: messaging integration: openclaw needs: unblock NV QA platform: ubuntu
Dominant language
TypeScript
Stars
22.5k
Forks
3.1k
Avg merge
1d 1h
Merged PRs (30d)
715

Description

## Description

When the OpenClaw agent decides not to respond and emits the silent-reply token `NO_REPLY`, the Google Chat conversation is left showing "OpenClaw is typing..." indefinitely. The typing indicator is never cleared and no message is ever sent, so from the user's side the bot appears permanently frozen.

**Platform scope:** Reproduced on Ubuntu 26.04 x86_64 (NemoClaw v0.0.104) only; other platforms not tested.
**Regression:** Unknown — the Google Chat channel is experimental/new; earlier behavior not tested.

## Environment

```text
Device: Ubuntu 26.04 x86_64 server
OS: Ubuntu 26.04 LTS
Architecture: x86_64
Node.js: v22.23.1
npm: 10.9.8
Docker: 29.1.3
OpenShell CLI: 0.0.85
NemoClaw: v0.0.104
OpenClaw: 2026.7.1
```

## Steps to Reproduce

1. Onboard an OpenClaw sandbox and add the experimental Google Chat channel (per the Google Chat connect flow). A small local model such as Ollama `qwen2.5:7b` reproduces this readily because it emits `NO_REPLY` often.
2. Pair/authorize the sender so messages are actually processed by the agent.
3. From the Google account, DM the bot a message the agent chooses not to answer (e.g. "test again", or just "...").
4. Watch the Google Chat conversation.

## Expected Result

If the agent produces a silent reply (`NO_REPLY` / nothing to say), the "typing..." indicator should be cleared so the conversation does not look stuck. Optionally the bot could send a minimal acknowledgement, but at minimum the typing state must not hang.

## Actual Result

The conversation shows "OpenClaw is typing..." forever. No message is delivered and the indicator is never removed. The agent turn completed and returned `NO_REPLY` (assistant text = `NO_REPLY`), but the channel leaves the typing state hanging, so the user cannot tell the bot has finished and chosen to stay silent.

## Logs

```text
Gateway log (nemoclaw {sandbox} logs):
[turn/kernel] visible channel turn dispatched with no queued reply payloads: channel=googlechat messageId=spaces/{space}/messages/{id} sessionKey=agent:main:main

Agent transcript: assistant content = [{"type":"text","text":"NO_REPLY"}]
```

Contributor guide

Open the contributing guide

Research direction

Start by tracing the experimental Google Chat channel from the connect flow and the gateway log entry showing a visible turn with no queued reply payloads. Reproduce a turn that returns the NO_REPLY token and follow the typing-state lifecycle. Done means the typing indicator is cleared when the agent completes silently, with no message required.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.