# strata19.create_or_get_checkpoint
URL: /documentation/reference/tools/create_or_get_checkpoint



{/* GENERATED FILE — do not edit. Sources: src/mcp/facade/tool-projection-registry.ts (availability) + describe() in src/mcp/facade/facade-tools.ts (prose). Regenerate: pnpm exec tsx scripts/docs/site/generate-tool-reference.ts */}

## What it does [#what-it-does]

Save, list, or restore a labelled checkpoint. action="save" (default) records the current git SHA. action="list" returns every checkpoint saved for this project (id, label, createdAt, atSha) — restore requires a checkpointId, and this is how you find one. action="restore" resets the tree to a saved checkpoint's SHA, refusing on uncommitted changes unless force=true.

## When to use it [#when-to-use-it]

**Use when:** "checkpoint this" · "save our progress" · "restore the last good state" · "what checkpoints do we have"

**Also use when:** after a verified-green milestone, or before a risky refactor; call action="list" first when you need a checkpointId to restore

## When not to use it [#when-not-to-use-it]

the state is unverified — run verify\_implementation first. For restore, never pass force=true without explicit user consent

## Availability [#availability]

|           |                                                  |
| --------- | ------------------------------------------------ |
| Tier      | Expert                                           |
| Lifecycle | Live                                             |
| Taught by | `strata19-checkpoint`, `strata19-guarded-writes` |
