Bare /loop ignores .claude/loop.md — shows usage prompt instead
Resolved 💬 1 comment Opened Apr 14, 2026 by LastStep Closed May 25, 2026
Bug
Running /loop with no arguments shows a usage prompt asking what to loop on, instead of picking up .claude/loop.md as documented.
Expected behavior
Per the scheduled tasks docs:
Aloop.mdfile replaces the built-in maintenance prompt with your own instructions. [...] Claude looks for the file in two locations and uses the first one it finds. -.claude/loop.md— Project-level. -~/.claude/loop.md— User-level.
And the behavior table states:
| What you provide | What happens |
|---|---|
| Interval only, or nothing | The built-in maintenance prompt runs, or your loop.md if one exists |
So bare /loop should either run the built-in maintenance prompt or the custom loop.md.
Actual behavior
Bare /loop prints:
You invoked /loop without a prompt. What would you like me to run on each iteration?
This happens regardless of whether .claude/loop.md exists.
Reproduction
- Create
.claude/loop.mdin a project root (any content) - Run
claudefrom the project root - Type
/loopwith no arguments - Observe: usage prompt appears instead of executing
loop.md
Also tested from a subdirectory — same result.
Environment
- Claude Code version: 2.1.107 (native, latest)
- Platform: Linux (WSL2) — Windows host
- Install method: native
- Shell: bash
Workaround
/loop follow the instructions in .claude/loop.md works — the model reads and executes the file. But the auto-detection doesn't fire.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗