---
url: /plugins/rocket-chat.md
description: Follow and answer your Claude Code sessions from a Rocket.Chat channel.
---

# Rocket.Chat

Follow and answer your Claude Code sessions from a Rocket.Chat channel.

Version 1.20261015.0 · Released 15 October 2026

```text
/plugin install rocket-chat@nhtio
```

Run this in Claude Code. New to NHT plugins? [Add the NHT marketplace](/#get-started) first.

![Claude code session in an agent channel](../plugin-screenshots/rocket-chat/01-claude-code-session-in-an-agent-channel.png)

## What it does

The Rocket.Chat plugin mirrors a Claude Code session into a Rocket.Chat **Agent Channel**. From there you can see what Claude is working on as it happens: the prompts it gets, the tools it runs and the answers it gives.

It also works the other way. When Claude stops to ask for approval or a question, you can answer from Rocket.Chat, and you can send a new prompt to a session that's sitting idle. You don't need to be at the computer running Claude Code.

## Who it's for

Anyone running long Claude Code sessions who wants to step away and keep an eye on progress from their phone.

## What you need

* An account on [NHT ChatOps](https://chatops.nht.io), NHT's Rocket.Chat
* Claude Code 2.1.271 or later
* [Node.js](https://nodejs.org/) 20 or later
* A connection from the computer running Claude Code to NHT ChatOps

## Set it up

Setting up takes two things from NHT ChatOps, its address and an **agent token**, which lets the plugin post to ChatOps for you.

### 1. Create an agent token in NHT ChatOps

1. Sign in to [NHT ChatOps](https://chatops.nht.io).
2. Open your account settings and choose **Agents**.
3. Create a new agent token.
4. Copy the token. Rocket.Chat also shows a **connection snippet**; copy that too if you can, because it holds both the address and the token.

Treat the token like a password. Anyone who has it can post to your Agent Channels and answer your sessions.

### 2. Enter it in Claude Code

1. In Claude Code, run `/plugin`, select **rocket-chat** and choose **Configure**.
2. In **Rocket.Chat URL**, paste the connection snippet, or type `https://chatops.nht.io`.
3. In **Agent token**, paste the token.
4. Save. You can leave the other settings as they are.

::: details Prefer your shell?

```sh
claude plugin configure rocket-chat@nhtio
```

:::

### 3. Check it's working

Start a new Claude Code session, then run:

```text
/rocket-chat:status
```

It tells you whether the plugin is set up and whether it can reach NHT ChatOps. Your session should also appear in your Agent Channels in ChatOps.

## Settings

All of these are under **Configure** in `/plugin`.

| Setting | Default | What it does |
| --- | --- | --- |
| Rocket.Chat URL | none | The NHT ChatOps address or the connection snippet. |
| Agent token | none | Your token from **Agents** in your ChatOps account settings. Stored as a secret. |
| Enable mirroring | On | Turn off to stop sending anything to ChatOps. |
| Wake from Rocket.Chat | On | Lets you send a prompt to a session that's sitting idle. |
| Wake window (hours) | 24 | How long an idle session stays reachable from ChatOps after Claude last stopped, from 1 to 168. |
| Answer timeout (minutes) | 15 | How long an approval or question waits for your answer in ChatOps. If nobody answers, Claude is told you're away and waits for your next prompt. 0 waits a full hour. |
| Session title | auto | How the session is named in ChatOps: `auto`, `repository` or `directory`. |

::: details Using environment variables instead
For shared machines, CI, or to keep the token out of Claude Code's settings, the plugin also reads these. Settings you enter in Claude Code take priority.

```sh
export RC_AGENT_URL='https://chatops.nht.io'
export RC_AGENT_TOKEN='your-agent-token'
```

`RC_AGENT_ENABLED=0` turns mirroring off for that shell or project, `RC_AGENT_WAKE=0` turns off waking idle sessions, and `RC_AGENT_WAKE_HOURS` and `RC_AGENT_ANSWER_TIMEOUT` set the wake window and answer timeout.
:::

## What gets sent to ChatOps

While mirroring is on, the plugin sends your session's activity to your Agent Channel: the prompts you give Claude, the tools it runs and whether they worked, its messages and questions, and when the session starts and ends. It also sends enough to tell your sessions apart, such as the session title, the project or repository, the folder it's running in and the model.

Turn **Enable mirroring** off when you're working on something that shouldn't be shared. When it's off, the plugin doesn't contact ChatOps at all. The plugin never shows your token in its status or diagnostics.

## If something's wrong

* **Run `/rocket-chat:status` first.** It shows what's set up and the results of recent attempts to reach ChatOps.
* **It says the token was refused (401):** create a new token in **Agents** in your ChatOps account settings, and enter it under **Configure**.
* **Nothing appears in ChatOps:** check that **Enable mirroring** is on, and that you can open [chatops.nht.io](https://chatops.nht.io) from the same computer.
* **Still stuck:** ask in [NHT ChatOps](https://chatops.nht.io).
