# 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 9:00, weekdays at 8:30, every Monday at 9:00. 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.

## 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 an assistant sees 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. **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.

## Big jobs wait for your Start

If a run turns into a long job, one that takes many steps in the background, StellarFirm shows a warning first. A long job may use a lot of credits, so it waits for your **Start**. A routine or a loop never starts one by itself: that run ends as waiting for you.

## 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
