# Routines and loops

> Let your assistants repeat work for you. What routines and loops are, how assistants propose them, how to create and stop one, and why money still asks.

Some work comes back again and again: a Monday summary, a check on a build that keeps failing, a follow up on a thread. You do not have to ask each time. A **routine** or a **loop** does the asking for you, and your assistants will suggest one when they see work that repeats.

Both run in their own chat, so you can open it and read what happened on each run.

## A routine

A routine runs on a schedule you can read at a glance: every hour, every day at 6 pm, weekdays at 8:30, Mondays and Thursdays at 8:00 and 17:00. You choose the days, one or more times, and the time zone. It keeps going until you pause or delete it.

Use a routine for work that belongs to a time:

- A summary of last week's pull requests every Monday morning.
- A look at the inbox for anything waiting every weekday at 8:30.
- A check of the open issues every day.

A routine runs at most once an hour. If you list several times they must be at least an hour apart and share the same minutes, such as 8:00 and 17:00. For times like 8:00 and 17:30, make two routines.

## A loop

A loop repeats every few minutes until the assistant says the work is finished, or until it has made all the runs it was allowed. Each run starts with the same fixed words: which run this is, and that the assistant should do the next part of the work and say when it is done.

Use a loop for work that has an end but needs several tries or some waiting:

- Keep checking a build and fix what breaks until it passes.
- Work through a long list a little at a time.
- Follow a slow process, such as a reply you are waiting on, until it arrives.

A loop runs every 10 minutes at the soonest and at most once a day. It always has a limit on its runs: 10 by default, and never more than 48. When the assistant finishes, it ends the loop. You can stop one yourself at any time.

## Which one to use

| You want | Use |
| --- | --- |
| Something at the same time every day, week, or hour | A routine |
| Work that should keep going until it is done | A loop |
| Something that never ends | A routine |
| Something with a clear finish | A loop |

## Your assistants will suggest them

When you ask for something to happen repeatedly or at a set time, such as "every day at 6 pm" or "remind me at 9 every Monday", the assistant proposes a routine with the schedule you asked for. When it sees other work that repeats, or that would need you to ask again and again, it proposes a routine or a loop once, briefly, after it has helped with what you asked. The proposal is a card in the chat. It shows:

- The name and what the assistant will do on each run.
- When it runs. For a loop: how often, and that it repeats until the assistant says it is done or after the number of runs shown.
- Which assistant runs it.

**Nothing is created until you press Create.** You can change the name and the instruction first. For a routine you can also change the days, add or remove times, and change the time zone on the card. After it is created, **Edit** on the Routines screen changes them again. **Dismiss** throws the proposal away, and the assistant does not suggest another in the same chat unless you ask. You can also ask for one yourself:

```prompt title="Ask for a routine"
CEO, I want a summary of last week's pull requests every Monday at 9:00. Propose a routine for it.
```

```prompt title="Ask for a loop"
CEO, keep checking the build every 30 minutes and fix what breaks until it passes. Propose a loop, with at most 12 runs.
```

You can also make a routine yourself on the [Routines](https://stellarfirm.ai/app/routines) screen.

## Money and sends still ask, every time

A routine or a loop never gets more freedom than a message you type yourself.

- Anything that sends, publishes, or creates waits for your **Approve** on every run.
- Anything that spends your money asks every time, with no switch to turn that off. A routine or a loop cannot spend your money on its own.
- A routine or a loop never turns on auto-approve for itself.

If a run stops for an Approve, the run says it is waiting for you. A loop does not start another run while the last one is still waiting, so runs never pile up. When you have answered, it carries on at its next time.

## Each run works in the background

Pressing **Create** on a routine is your go-ahead for its runs. Each run works in the background as a long job, step by step, so you can close the page and it keeps going; the answer shows in the routine's chat when it is done. A long job may use a lot of credits, and it stops on its own when your spend budget or your credits run out. Anything it sends, spends, or publishes still waits for your Approve, and a routine never starts a second run while the last one is still working.

A loop is different: its runs are short, and if a loop's run turns into a long job it waits for your **Start**.

## See them and stop them

Open [Routines](https://stellarfirm.ai/app/routines). Each routine shows when it runs next and how its last run went. A loop shows where it is, for example **Loop · run 3 of 10 · every 30 minutes**.

| You want to | Do this |
| --- | --- |
| Pause a routine | Choose **Pause**. **Resume** starts it again. |
| End a loop | Choose **Stop**. A stopped loop does not start again; make a new one if you need it. |
| Try a routine or loop once | Choose **Run now**. A trial still asks for your Approve before anything is sent. |
| Remove one | Choose **Delete**. Its chat stays, so you can read what it did. |

## Limits

| | Routine | Loop |
| --- | --- | --- |
| How often | At most once an hour | Every 10 minutes to every 24 hours |
| How many runs | Until you stop it | Up to 48, 10 by default |
| At the same time | One run at a time | One run at a time |

You can have up to 25 routines and loops in all, paused ones included.

## Next

- [Approvals](/docs/ceo/approvals)
- [House rules](/docs/ceo/house-rules)
- [Delegate work](/docs/ceo/delegate-work)

---

Source: https://stellarfirm.ai/docs/ceo/routines-and-loops
