Most interactive steps (Click, Type, etc.) cache the resolved element after a successful run. On the next run, Momentic replays from cache and only falls back to AI when the cache misses (see auto-heal). Module and auth-state caching are covered in Modules.Documentation Index
Fetch the complete documentation index at: https://momentic.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
How the cache works
A cached step stores more than one way to find its target: where the element sits on screen, what it looks like, what text it contains, and the accessibility and structural attributes around it. Which of those signals matters for a given step is inferred from the step’s natural-language description. “The red Cancel button below the Order Summary header” leans on visual and positional signals; “the Sign in button” leans on accessibility and text. On replay, the runner matches the stored signals against the live page or screen and runs the action without invoking the LLM when there’s a match. When the signals no longer match, auto-heal re-resolves the description against the current UI and updates the entry in place.Cache saving eligibility
A run only saves cache when it passes and the run is eligible.- CI runs (
CI=true) are always eligible. - Local runs are eligible when the current branch is not the main branch or a protected branch.
- Pass
--save-cacheto force eligibility.
Never cached
- AI-evaluated steps like AI check and AI extract
- Steps whose variables change every run (e.g.
{{ Date.now() }}) - Steps with caching explicitly disabled
Disabling cache
Globally:last item in list.
Cache invalidation
Cache entries are scoped per step. Changing a step’s natural-language description or the variable values it depends on (e.g. a different{{ env.USERNAME }}) re-keys the entry. Re-rendering siblings, mutating
unrelated attributes, or animating background content does not.
Storage
- Stored per organization; only accessible to authenticated runs
- Expires after 90 days of inactivity
Git-based isolation
Caches are scoped per branch so concurrent work doesn’t collide:mainkeeps per-commit caches; new branches seed from the cache at their merge base.- Non-main branches store only the latest cache.
- On merge, the merged branch’s cache is combined with
main’s previous commit so subsequent runs onmainstay green.