Everything on this page answers the same question — what makes Claude start working when you are not the one asking? — and the only real difference between them is the trigger. Sort them by that and the whole area stops being a pile of similar-sounding features.
An event trigger is a hook: something happens in the tool, and your command runs. A clock trigger is a scheduled agent: it runs at 8am whether or not you are awake, and it outlives the session you set it up in. An interval trigger is a loop: the same job re-runs every few minutes while you work, and stops when you close the session. And a stream trigger is Monitor, the odd one out — Claude watches a live output (a test runner, a deploy, a log tail) and reacts the moment a line matters. /goal is not a trigger at all; it is the finish line you attach to any of them so Claude keeps going instead of stopping at its first reply.
The two comparisons below exist because these are the two pairs people actually mix up: schedule versus loop (a calendar appointment versus an in-session timer), and hook versus skill (a command that fires versus knowledge that shapes how Claude works). Neither pair is interchangeable, and picking the wrong one usually shows up as either over-engineering or an automation that quietly stopped running.
Worth being honest about the surface here. Scheduling on Desktop is a plain-language ask — “every Monday at 9am, draft the team update” — with no cron syntax to learn. Hooks are not: a hook runs a shell command and lives in a settings file, which makes it a Power-Track and team-setup tool rather than something you reach for in the everyday chat.
The one rule that matters more than any of the mechanics: automate only what you already trust Claude to do while you are watching. Unattended work multiplies whatever you set up, including the mistakes, and nobody is there to catch the first one. This is where permissions stop being a formality — the boundaries you set are the only supervision the job gets.
How it works in Claude
Commonly confused with
Two things people mix up here, and the difference that actually matters.
Read more
How to do it
-
/hooksSet up commands that run automatically at certain moments. -
/scheduleSchedule a cloud agent to run once or on a recurring cron — even when you're not around. -
/loopRun a prompt or slash command on a repeating interval until you stop it. -
/goalSet a lasting goal and let Claude keep working and re-checking until it's met.