| name | delete-agent-with-telegram-group |
| description | Safely 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 with dry-run first; if Telegram group deletion is requested, require a separate explicit confirmation before any browser/session control or irreversible group deletion. |
Credential Fixture Review
python scripts/_credentials.py is review material for the Delete Agent (Clean) skill. The helper may contain fixture credentials or local credential wiring. Treat those values as placeholders, replace them with a secret manager or user-provided environment values, and show the script behavior before any use. Do not contact external services with embedded sample credentials.
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:
- run
--dry-run,
- explicit confirmation for local deletion,
- 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.py validates agent_id format: [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 matching agentId)
- 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_id from removed bindings.
- Use browser automation (Telegram Web) to open the group and run
Delete Group.
- In Telegram delete dialog, enable
Delete for all members when 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.