# Versioning

Automatic versioning so you don't lose progress

Dyad automatically creates a new version every time it edits your code. This means you never have to worry about losing your progress if (and when) the AI makes a mistake.

## How to restore version

At the top of the chat panel, you'll see a button that looks like this:

Version #

The `#` is whatever version your app is currently on. Clicking this button will open the version list. You can click on previous versions and the preview will update (it may take a second or so), which is useful for figuring out the last good version.

Once you've selected a version from the list, you can click the **Restore** button to revert your code to that state.

When you use restore, you won't lose any history. Dyad's versioning system is always additive, which means it's safe to restore.

## How it works

If you're not a developer and aren't familiar with [Git](https://git-scm.com/), don't worry—you don't need to understand this section to benefit from Dyad's automatic versioning!

If you are a developer, this section may be helpful if you're using Dyad alongside other tools (e.g. VS Code, etc.).

Every version in Dyad is essentially a git commit. The commit message is generated by the AI to summarize the changes.

When you do a **restore** in Dyad, it creates a new commit similar to a `git revert` except it can revert multiple commits at once.

### On this page

How to restore version  
How it works
