executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
daemonManage the Telegram daemon lifecycle — start, stop, restart, check status, tail logs. Use when the user says "start the bot", "stop the daemon", "restart telegram", "daemon status", "show bot logs", or "is the bot running".
Independent GitHub snapshot · Automated classification · Original documentation governs
name: daemon description: Manage the Telegram daemon lifecycle — start, stop, restart, check status, tail logs. Use when the user says "start the bot", "stop the daemon", "restart telegram", "daemon status", "show bot logs", or "is the bot running". user-invocable: true allowed-tools:
Full lifecycle management for the Telegram bot daemon (launchd + supervisor + Claude).
start (default if no args and daemon is not running)Start the daemon via launchd:
launchctl load ~/Library/LaunchAgents/com.user.claude-telegram.plist 2>&1
If it fails with "already loaded", report that the daemon is already running. After loading, wait 5 seconds, then run the status check to confirm it started.
stopStop the daemon:
launchctl unload ~/Library/LaunchAgents/com.user.claude-telegram.plist 2>&1
Wait 3 seconds, verify all processes are gone:
ps aux | grep -E "channels.*telegram" | grep -v grep
Report success or if orphan processes remain.
restartUnload then load:
launchctl unload ~/Library/LaunchAgents/com.user.claude-telegram.plist 2>/dev/null
sleep 2
launchctl load ~/Library/LaunchAgents/com.user.claude-telegram.plist
Wait 10 seconds, then run full status check.
status (default if no args and daemon IS running)Run the full monitor check — same as /telegram:monitor:
logsTail the last 30 lines of supervisor stderr:
tail -30 ~/.claude/channels/telegram/data/supervisor-stderr.log
stdoutTail the last 30 lines of daemon's Claude output:
tail -30 ~/.claude/channels/telegram/data/supervisor-stdout.log
urlJust show the remote control URL:
cat ~/.claude/channels/telegram/data/supervisor-stdout.log | strings | grep "session_" | tail -1
Check if daemon is running. If running → show status. If not running → ask if user wants to start it.
launchctl load/unload commands may fail with "Input/output error" — this usually means the service is already in the requested state. Handle gracefully.~/Library/LaunchAgents/com.user.claude-telegram.plist