Chrome has no built-in setting to auto refresh until text appears. In Tab Automation, add **Refresh Page**, add **Wait / Delay** set to **Until**, leave **Repeat** on, and click **Start**. The graph reloads, then polls the page until the phrase is there or the timeout ends.

A timeout continues the graph so the next cycle can reload again. This is not a monitor that keeps checking after you quit Chrome.

## Reload until a phrase is on the page

1. Open the queue, listing, or status tab you want to watch.
2. Open Tab Automation from its toolbar action. The extension opens in Chrome's side panel.
3. Click **New Automation** and pick the open tab. It becomes the **Start** card.
4. Click **Add Step**, then choose [Refresh Page](/steps/refresh-page).
5. Add [Wait / Delay](/steps/wait-delay). Switch it to **Until**.
6. Choose **Appears** when you picked a node that is missing until the update lands. Choose **Matches** when you care about the words. **Whole page** on a Page operand uses the document body.
7. Set a timeout (**Fixed** or **Random range**, 1–3600 seconds). Until polls every 250 milliseconds. A timeout records a warning and the run continues.
8. Leave [Repeat](/steps/repeat) on. A new automation starts with a 30-second **Fixed** wait. That wait is the gap before the next cycle, after Until finishes or times out.
9. Click **Start**.

Until is a poll of the current document, not a MutationObserver. If the phrase is already there after the reload, Until can succeed on an early poll. If it is not there, the timeout lets Repeat start another cycle.

The [auto refresh vs page monitor](/blog/auto-refresh-vs-page-monitor) guide is the longer split between a timer, a one-time check, and Until.

## Stop when the text is found

Turn on **Pause when this wait succeeds** on that Until step. Success pauses the automation. Later steps in that cycle do not run. A timeout does not pause.

**Pause** on the card also stops a run you started. Repeat can stop after a cycle count or after a duration if you want a hard end even when the phrase never appears. See [Repeat](/steps/repeat).

## Notify when the text is found

The check and the alert are separate. Put the alert on the moment that actually means “found.”

**Do not put [Send Alert](/steps/send-alert) after Until if Pause when this wait succeeds is on.** A successful wait skips later steps, so that alert never fires. A timed-out wait continues the graph, so that same alert _does_ fire on a miss.

Use one of these instead:

- **Alert and stop.** Until plus **Pause when this wait succeeds**, then turn on Repeat **When it stops**. A pause is a stop. That moment can send a desktop notification, play a sound, or POST a webhook. Both Repeat alert switches stay off until you enable them.
- **Alert every cycle the text is already there.** Refresh Page, then [If / Else](/steps/if-else), then **Send Alert** in **Then**. If evaluates once after the reload. New If steps do not pause. Repeat keeps going until you pause it, or until a cycle count or duration ends.

For Slack, Discord, or ntfy setup, follow [send a Slack webhook when a Chrome page changes](/blog/chrome-webhook-slack-discord). If a desktop **Test** is silent, follow [Chrome notifications not working](/blog/chrome-notifications-not-working).

## When the page updates without a reload

Skip Refresh Page when the tab already live-updates — a counter, a chat line, or a status that changes in place.

Use **Wait / Delay** **Until** alone. **Appears**, **Disappears**, **Changes**, or **Matches** still poll every 250 milliseconds until success or timeout. **Pause when this wait succeeds** still pauses only on a match.

A timer-only graph never reads the page. If you only need a fresh load you will read yourself, use the [one-tab auto-refresh guide](/blog/auto-refresh-a-tab-in-chrome).

## Auto refresh until text appears without an extension

For a temporary test, open DevTools, select Console, and paste:

```js
const target = "available";
if (document.body.innerText.includes(target)) {
  alert("Found!");
} else {
  setTimeout(() => location.reload(), 30000);
}
```

Change `"available"` to the phrase you care about. The delay is 30,000 milliseconds, or 30 seconds.

**That script dies on the reload.** The new document does not have your check. You paste it again on the fresh page, or you stop using the console for a watch you wanted to leave running.

Hidden tabs add another limitation: Chrome can [throttle page timers](https://developer.chrome.com/blog/background_tabs). An extension timer lives outside the page, so it can reload the assigned tab after you switch away. See [auto refresh a background tab](/blog/auto-refresh-background-tab-chrome).

## Limits to know before you start

- **Chrome must stay open.** Extension alarms do not fire after you quit Chrome. Running automations are rescheduled when Chrome starts again. There is no cloud check while the browser is closed.
- **There is no email or SMS.** Destinations are HTTPS webhooks you saved in Settings.
- **There is no captcha detection.** A blocked or challenge page is just another document.
- **If / Else is a snapshot.** It matches when the runner reaches that step. It does not remember earlier text.
- **You choose one tab.** One automation stays on one assigned tab. Chrome UI pages, extension pages, and the Chrome Web Store are excluded.
- **Browser support is limited.** Desktop Chrome, Edge, Brave, and Opera can install the Chrome Web Store listing. Firefox, Safari, and mobile are not supported.

Automations stay in `chrome.storage.local` on this computer. Read the [privacy policy](/privacy) for permissions and data handling.
