Why is the Respond to Chat always in Waiting for Input?

Describe the problem/error/question

I created a simple project that has only two nodes.
Chat Trigger → Repond to Chat.
the Respond to Chat will simply output that the chat trigger message is. But it keeps waiting for input.

What is the error message (if any)?

Please share your workflow

Share the output returned by the last node

Waiting for Input

Information on your n8n setup

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:
1 Like

Hey @starwoodmedspa welcome! The issue is you’re using the Chat node (Respond to Chat) but it’s meant to work with an AI model, not just echo text back. That node is designed to send messages to a language model and return the response, so it’s sitting there waiting for an AI connection that doesn’t exist.

If you just want to echo back the input text, you don’t need the langchain chat node at all, just connect the Chat Trigger directly to a Set node or use the built-in response. Here’s a simple workflow that just echoes back whatever the user types:

if you actually want to build a chatbot that responds intelligently, you need to add an AI model node (like OpenAI or Google Gemini) between the trigger and the response node.

Thanks for your reply. This was just to test the response to chat node on a different workflow for testing. On the actual project, I have an HTTP response node in between the two and I was trying to use a respond to chat from an AI agent that’s responding back from the an HTTP response. I try to use the respond to chat and could not get anywhere, but I will try your method now. Thank you for your help. I will get back to you once I find anything.

Below is the workflow:

Chat Trigger –> HTTP Response –> Edit Node –> Respone to Chat (Waiting for Input).

1 Like

Hi @starwoodmedspa Welcome!

Respond to Chat is a human in the loop chat node which only works with a Chat Trigger whose Response Mode is set to Using Response Nodes so either you remove Respond to Chat and let the Chat Trigger return the HTTP nodes output or you keep it but set the Chat Trigger’s Response Mode to Using Response Nodes and use the Chat node just to Send Message (not “wait for response”) otherwise it will stay stuck on Waiting for Input.

Yes, the chat trigger is set to response node. If you look at the workflow that I have added in the beginning, it’s a very simple set up and should work.

Here is my other workflow that I am working on. Its is a simple Chat trigger sends a message to HTTP Request. The HTTP Request is a Post.

Chat Trigger –> HTTP Request –> Edit (Set) –> Respond to Chat.

Here is the payload in the input of the Respond to Chat

[
  {
    "sessionId": "3aaeffd7af8743d68644e397e8e1119f",
    "action": "sendMessage",
    "chatInput": "Hello, what is the temp today?",
    "id": "chatcmpl_3bfbefca-868d-448b-a29c-d5a95042a6aa",
    "object": "chat.completion",
    "created": 1771477862,
    "model": "agent:main",
    "choices": [
      {
        "index": 0,
        "message": {
          "role": "assistant",
          "content": "I can pull that up—what city or ZIP should I check the temperature for?"
        },
        "finish_reason": "stop"
      }
    ],
    "usage": {
      "prompt_tokens": 0,
      "completion_tokens": 0,
      "total_tokens": 0
    },
    "text": "I can pull that up—what city or ZIP should I check the temperature for?"
  }
]

In the Edit, I am sending the chat Trigger sessionID as well.

In the Respond to chat I see the value from {{$json.text}} but it keeps saying Waiting for Input, and no response return to the Chat.

I got it to work without the Respond to Chat. All I had to do is have my Edit(set) end point to have a text parameter and changed the Chat trigger Response Mode to When Last Node Finishes. The Respond to Chat is very misleading.

The “Waiting for input” state usually means the node is correctly configured, but nothing is actually sending a message back into the conversation. A few things to double‑check:

  1. Make sure the previous node really returns a messages array in the expected format (role / content) and that the Respond to Chat node is mapped to those fields.

  2. Confirm that your trigger (Chat Trigger, Telegram, Webhook, etc.) is connected back into the same workflow and that a new user message actually reaches the Respond to Chat node in the execution.

  3. If you are using separate workflows (one for receiving, one for responding), you need to pass a conversation/session ID between them and map it in the Respond to Chat node, otherwise the node will keep waiting for “its” conversation.

  4. In the Chat Trigger → Response Mode, make sure you are using “Using response nodes” (or the equivalent option in your n8n version) so that the chat UI expects a response from the Respond to Chat node instead of just the last node’s output or a webhook response.community.

  5. A good way to debug is to enable “Save successful executions”, send a test message, and check the execution data of the Respond to Chat node: if it has no new input item with a user message, it will stay in “Waiting for input” forever.community.

If you go through these steps, you can usually see exactly where the message stops and why the node never gets the input it is waiting for.community.