delete-agent-with-telegram-group
v0.1.2Safely and thoroughly delete an OpenClaw agent and its artifacts. Use when user asks to remove an agent completely, including workspace, agent files under ~/.openclaw/agents, bindings, Telegram group routing config, dedicated Telegram group, and related cron jobs. Always run local cleanup via script...
Installation
Delete Agent (Clean)
Permanently remove an agent and its related local config/files.
Safety Rules
- This is destructive. Always require explicit user confirmation.
- Enforce 3-step gate:
1) run
--dry-run, 2) explicit confirmation for local deletion, 3) separate explicit confirmation for Telegram browser/session-controlled group deletion. - Ask user whether to also delete the dedicated Telegram group.
- Never auto-delete Telegram groups without the separate confirmation.
- Prefer script execution for local cleanup (stable, low token).
Inputs
Collect:
- agent_id (required)
- delete_workspace (yes/no)
- delete_telegram_group_config (yes/no; usually yes)
- delete_telegram_group (yes/no; requires explicit confirmation)
- delete_cron_jobs (yes/no; usually yes)
Script-first Commands
Dry-run:
python3 scripts/delete_agent.py --agent-id <agent_id> --dry-run
Execute (after confirmation):
python3 scripts/delete_agent.py --agent-id <agent_id> --yes --delete-workspace --delete-telegram-group-config --delete-cron-jobs
Script Safety Guardrails
scripts/delete_agent.pyvalidatesagent_idformat:[a-z0-9-]+.- It refuses deletion when target paths are outside allowed directories.
- Workspace deletion is allowed only when path is under user home and folder name starts with
claw-. - It creates backup files before writing config changes.
What the script removes
- Agent entry in
~/.openclaw/openclaw.json(agents.list) - Agent bindings (
bindings[]with matchingagentId) - Telegram group routing entries linked by those bindings
channels.telegram.groups.<chat_id>- Agent directory:
~/.openclaw/agents/<agent_id>- Workspace directory from agent config (if
--delete-workspace) - Cron jobs owned by this agent from
~/.openclaw/cron/jobs.json(if--delete-cron-jobs)
Dedicated Telegram Group Deletion
This skill does not bundle Telegram deletion automation code; it uses external browser automation tooling or manual user actions.
After local script deletion and only if user confirmed delete_telegram_group=yes:
- Require a separate explicit confirmation: user agrees to browser/session control and irreversible group deletion.
- Identify dedicated group
chat_idfrom removed bindings. - Use browser automation (Telegram Web) to open the group and run
Delete Group. - In Telegram delete dialog, enable
Delete for all memberswhen available, then confirm deletion. - Report final group status clearly:
deleted/left-only/pending-manual.
Post-step
- Surface backup files created by the script (
openclaw.json.bak.*,jobs.json.bak.*) so user can retain recovery points. - If gateway reload is available, let hot reload apply.
- If not applied, ask for explicit confirmation before restarting gateway, then verify logs.
- Return concise summary with removed items.