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

Status Closed — not planned
Maintainer reply None cached
Activity 5 comments · opened Apr 1, 2026 · 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 5 comments on GitHub. Read the full discussion on GitHub ↗