/loop skill has no cancel mechanism — loops run until session ends

Resolved 💬 4 comments Opened Apr 1, 2026 by Morriz Closed May 31, 2026

The /loop skill starts a recurring prompt on an interval but provides no way to cancel it from within the session. Once started, it fires indefinitely until the session is terminated.

Expected behavior: A /loop cancel or /loop stop command that terminates the active loop, or the loop should automatically stop when the agent responds with a terminal acknowledgment.

Actual behavior: The loop runs forever. There is no cancel command. TaskStop doesn't work because the loop doesn't run as a trackable background task. The process isn't visible as a shell process that can be killed.

Impact: In long-running sessions, a loop set for an early task continues firing hundreds of times after the task is complete. Each firing generates a response, wasting tokens and polluting the conversation. The agent cannot stop it — only the user can by ending the session.

Workaround: Don't use /loop. Use sleep N && echo "message" with run_in_background: true for one-shot timers instead. The agent must consciously set each subsequent timer, making the stop condition naturally enforceable.

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗