Skip to content

openclaw agent returns empty content when model makes tool calls instead of text responses #1193

@eferrao

Description

@eferrao

Summary

When using openclaw agent to process simple chat messages, the model returns empty content (payloads: []) with stopReason: "stop" and only ~11 output tokens. The agent reports "completed" but sends no actual text back to the caller.

Root Cause

openclaw agent sends 23 tool definitions to the NVIDIA API alongside every user message. When using nvidia/llama-3.3-nemotron-super-49b-v1 (and nemotron-3-super-120b-a12b), the model interprets these tools as available actions and generates a tool call (11 tokens) instead of a text response. The openclaw agent then captures an empty content array.

Reproduction

# This returns empty content via openclaw:
openclaw agent --agent main -m "hello" --session-id test --json
# Output: payloads: [], stopReason: "stop", outputTokens: 11

# But the same model responds perfectly when called directly without tools:
curl -X POST "https://integrate.api.nvidia.com/v1/chat/completions" \
  -H "Authorization: Bearer $NVIDIA_API_KEY" \
  -d '{"model":"nvidia/llama-3.3-nemotron-super-49b-v1","messages":[{"role":"user","content":"hello"}],"max_tokens":200}'
# Output: {"content": "Hi! How can I help you today?", ...}

Environment

  • NemoClaw: installed via nemoclaw install --non-interactive (March 2026)
  • OpenClaw: 2026.3.11
  • Server: Ubuntu 22.04 on Hetzner VPS
  • Models tested: nvidia/llama-3.3-nemotron-super-49b-v1, nvidia/nemotron-3-super-120b-a12b

Expected Behavior

Simple chat messages should return text responses, not tool calls. Either:

  1. Tool definitions should not be sent for simple conversational queries, or
  2. The model should be prompted/instructed to prefer text responses over tool calls when the user message is conversational, or
  3. The agent should fall back to extracting text if the model returns a tool call for a non-tool-related query

Workaround

Calling the NVIDIA API directly without tool definitions produces correct text responses. We built a custom Telegram bridge that bypasses openclaw agent entirely.

Metadata

Metadata

Assignees

No one assigned

    Labels

    NemoClaw CLIUse this label to identify issues with the NemoClaw command-line interface (CLI).Platform: UbuntuSupport for Linux UbuntubugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions