# AutoSaveReason enum

Namespace: [Grasshopper2.Doc](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.doc.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
[Flags]
public enum AutoSaveReason
```

Enumerates common reasons for autosaving.

## Values

| Name | Value | Description |
| --- | --- | --- |
| Unspecified | 0 | Unknown reason. |
| Force | 1 | Override flag indicating that the autosave must run regardless of the user's [Settings.AutoSaveReasons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.settings/autosavereasons.md) filter. Combine with any other reason, or pass on its own. The per-process deduplication guard still applies, so callers wanting an unconditional save should pair this with a fresh [Guid](https://learn.microsoft.com/dotnet/api/system.guid). |
| WireAdded | 2 | One of more wires were added. |
| WireRemoved | 4 | One of more wires were removed. |
| ObjectAdded | 8 | One or more objects have been added to the document. |
| ObjectRemoved | 16 | One or more objects have been removed from the document. |
| ObjectChanged | 32 | An object property or setting was changed. This includes persistent data and other state changes, but it excludes Enabled, Modifier and Expression changes as those have their own markers. |
| PinChanged | 64 | Pins were either attached or detached from an object. |
| ObjectEnabled | 128 | One or more disabled objects have been enabled. |
| ObjectDisabled | 256 | One or more enabled objects have been disabled. |
| ModifiersChanged | 512 | A textual expression or code snippet was changed. |
| ExpressionChanged | 2048 | A textual expression or code snippet was changed. |
| Common | 2602 | Collects the default autosave reasons. |
| ClusterCreated | 268435456 | One or more objects have been turned into a cluster. |
| ClusterDestroyed | 536870912 | A cluster has been exploded and its contents have been reinserted into the document. |
| ClusterChanged | 1073741824 | A cluster has been modified. |
