# Restore points and memory

Undo any agent turn with restore points, and teach the agent once - memory, standing rules, lessons from your sessions, and AGENTS.md.

## Restore points

Before each run, Warden quietly saves your whole working tree, tracked and untracked files, as a restore point. Your branch, index and files aren't touched.

- **Undo a turn**: each turn's receipt in the chat has **Undo**, *restore your files to before this run (reversible)*.
- **Checkpoints** (a project tab) lists every restore point: *Before run* ones taken automatically, and any you take with **Snapshot now**.
- **Restore** asks you to confirm, then saves your current state first, so a restore can be undone too. It never deletes files created after the checkpoint.

Restore points are git objects, kept in `.git/warden/` (the latest 200).

> [!LIMIT]
> Restore points skip git-ignored files, so they won't bring back a deleted `.env`. The project must be a git repository.

## Memory

**Memory** (in the sidebar for everywhere, or a project's Memory tab) holds facts and preferences the agent should know: *we use pnpm*, *the staging database is read-only*, *I prefer small commits*.

- **Add memory** by hand, or let the agent save a fact you confirmed. Those are marked **Saved by agent**, with one-click remove.
- Memory reaches every agent, including Claude Code and Codex, at the start of each turn. Memories are included when the request touches them.
- Memory is private to you and never committed.

## Rules (standing instructions)

A project's **Rules** tab holds how you want the agent to behave, always: *when I ask for a Slack message, use the slack skill*, *never add a dependency without asking*. Rules are included in every turn. Like memory, they are personal, Global or per project, and never committed.

These are instructions to the agent. To *enforce* something, write a [policy rule](writing-rules): the agent can ignore an instruction, but it can't get past a rule.

## Lessons from your sessions

**Reflect now** (under Memory) reads what you said across your recent sessions and proposes lessons: the corrections you keep making, turned into memory, a rule, a workflow, a skill improvement or a gate. **Accept** each one you want, edit it first, or reject it with ✕. Each proposal says where it will be saved (all projects or this one).

Turn on **Auto-reflect daily** (and after every few items shipped) to have proposals waiting for you.

## AGENTS.md for the team

Conventions the whole team shares belong in the repository's `AGENTS.md` (or `CLAUDE.md`), where they are reviewed like code. Warden's built-in agent reads `.wardenhints`, `AGENTS.md`, `CLAUDE.md` and `CLAUDE.local.md`; Claude Code reads its own `CLAUDE.md` as usual.
