Skip to content
Automation
Command

/config

View or modify heartbeat settings

BOOST
From plugin
moazbuilds-claudeclaw
1.3k10 skills10 commands
Install
> /plugin marketplace add moazbuilds/claudeclaw
> /plugin install claudeclaw@claudeclaw

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/config

Context preview

What this command does when you run it.

View or modify heartbeat settings

Command definition

config.md
description: View or modify heartbeat settings

View or modify the heartbeat daemon settings. Use `$ARGUMENTS` to determine the action.

Parse `$ARGUMENTS` to identify what the user wants. If no arguments are given, show the current config.

Sub-commands

`show` (default when no arguments)

1. Read `.claude/claudeclaw/settings.json`. 2. Display all settings clearly:

**General**

  • Model: (e.g. `opus`, `sonnet`, `haiku`, `glm` or "default")
  • API token: (first 5 chars + "..." or "not configured"; used when `model` is `glm`)
  • Fallback model: (e.g. `glm`, `sonnet`, or "not configured")
  • Fallback API token: (first 5 chars + "..." or "not configured")
  • Timezone: (e.g. `America/New_York` or "UTC")

**Heartbeat**

  • Enabled: yes/no
  • Interval: Xm
  • Prompt: (show full prompt or "not set")
  • Exclude windows: (list each window's days + start-end, or "none")
  • Forward to Telegram: yes/no (`HEARTBEAT_OK` is forwarded only when enabled)

**Telegram**

  • Token: (first 5 chars + "..." or "not configured")
  • Allowed users: (list IDs or "none")

**Security**

  • Level: (locked/strict/moderate/unrestricted)
  • Allowed tools: (list or "default")
  • Disallowed tools: (list or "none")

**Web UI**

  • Enabled: yes/no
  • Address: host:port

3. Also list any cron jobs from the configured jobs directory (see `jobsDir` in settings, default: `.claude/claudeclaw/jobs/`) with their name, schedule, and notify mode. 4. Remind the user that changes are hot-reloaded every 30s — no daemon restart needed.

`heartbeat on` / `heartbeat off` / `heartbeat enable` / `heartbeat disable`

Toggle the heartbeat on or off.

1. Read `.claude/claudeclaw/settings.json`. 2. Set `heartbeat.enabled` to `true` or `false` based on the command. 3. Write the updated settings back. 4. Confirm the change.

`heartbeat interval <minutes>` / `interval <minutes>`

Change the heartbeat interval.

1. Parse the number of minutes from `$ARGUMENTS`. If not provided or invalid, use **AskUserQuestion**: "How often should the heartbeat run?" (header: "Interval", options: "5 minutes", "15 minutes (Recommended)", "30 minutes", "60 minutes") 2. Read `.claude/claudeclaw/settings.json`. 3. Set `heartbeat.interval` to the new value. 4. Write the updated settings back. 5. Confirm the change. The daemon will pick up the new interval within 30 seconds.

`heartbeat prompt` / `prompt`

Change the heartbeat prompt.

1. Read `.claude/claudeclaw/settings.json` and show the current prompt. 2. Use **AskUserQuestion**: "What prompt should the heartbeat run?" (header: "Prompt", options: suggest 2-3 prompts relevant to the project, plus the current prompt if set as an option) 3. Set `heartbeat.prompt` to the new value. 4. Write the updated settings back. 5. Confirm the change.

`heartbeat telegram on` / `heartbeat telegram off` / `heartbeat forward telegram on` / `heartbeat forward telegram off`

Toggle whether heartbeat outputs are forwarded to Telegram.

1. Read `.claude/claudeclaw/settings.json`. 2. Set `heartbeat.forwardToTelegram` to `true` for `on` and `false` for `off`. 3. Write the updated settings back. 4. Confirm the change. 5. Clarify behavior:

  • `true` = forward all heartbeat replies (including `HEARTBEAT_OK`)
  • `false` = suppress `HEARTBEAT_OK` and forward only actionable heartbeat outputs

`telegram token <token>` / `telegram token`

Set or update the Telegram bot token.

1. If token is in `$ARGUMENTS`, use it directly. 2. Otherwise, use **AskUserQuestion**: "What is your Telegram bot token from @BotFather?" (header: "Token", options: let user type via Other) 3. Read `.claude/claudeclaw/settings.json`. 4. Set `telegram.token` to the new value. 5. Write and confirm.

`telegram users <id1,id2,...>` / `telegram users`

Set the allowed Telegram user IDs.

1. If IDs are in `$ARGUMENTS`, parse them as comma-separated numbers. 2. Otherwise, use **AskUserQuestion**: "What Telegram user IDs should be allowed? (comma-separated)" (header: "User IDs", options: let user type via Other) 3. Read `.claude/claudeclaw/settings.json`. 4. Set `telegram.allowedUserIds` to the array of numbers. 5. Write and confirm.

`telegram off` / `telegram disable`

Disable Telegram integration.

1. Read `.claude/claudeclaw/settings.json`. 2. Set `telegram.token` to `""` and `telegram.allowedUserIds` to `[]`. 3. Write and confirm.

`model <name>` / `model`

Set the Claude model to use for sessions.

1. If model name is in `$ARGUMENTS`, use it directly. 2. Otherwise, use **AskUserQuestion**: "Which Claude model should ClaudeClaw use?" (header: "Model", options: "opus (default)", "sonnet", "haiku", "glm") 3. Read `.claude/claudeclaw/settings.json`. 4. Set `model` to the new value. 5. If the selected model is `glm`, ask for `api` token (unless already set) and save it to top-level `api`. 6. If model is changed away from `glm`, keep `api` unchanged. 7. Write and confirm.

`api <token>` / `api`

Set or update the API token used when `model` is `glm`.

1. If token is in `$ARGUMENTS`, use it directly. 2. Otherwise, use **AskUserQuestion**: "What API token should ClaudeClaw use for glm?" (header: "API token", options: let user type via Other) 3. Read `.claude/claudeclaw/settings.json`. 4. Set top-level `api` to the new value. 5. Write and confirm.

`fallback model <name>` / `fallback model`

Set the fallback model used when the primary model hits a rate limit.

1. If fallback model name is in `$ARGUMENTS`, use it directly. 2. Otherwise, use **AskUserQuestion**: "Which fallback model should ClaudeClaw use?" (header: "Fallback model", options: "glm (Recommended)", "sonnet", "haiku") 3. Read `.claude/claudeclaw/settings.json`. 4. Set `fallback.model` to the chosen value (`""` for none). 5. Write and confirm.

`fallback api <token>` / `fallback api`

Set or clear the API token for the fallback model.

1. If token is in `$ARGUMENTS`, use it directly. 2. Otherwise, use **AskUserQuestio

Read more
Ships withmoazbuilds-claudeclaw

A lightweight, open-source OpenClaw version built into your Claude Code.

Get the whole plugin
Stats
1,324
Stars
243
Forks
Maintained
Maintenance
TypeScript
Language
MIT
License
2mo ago
Last commit
7mo ago
Created
1d ago
Added

Repo: moazbuilds/claudeclaw

Other commands on moazbuilds-claudeclaw.