summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKyle Altendorf <[email protected]>2026-03-16 23:46:09 -0400
committerGitHub <[email protected]>2026-03-16 22:46:09 -0500
commit544315dff74beef8f854bb1e658e6f429ad7cfdc (patch)
tree4441c1450c548d86698dd3a82e03f99667f54832
parentf13da808ffb98bc0e582e227f3cf8f74d090b7d8 (diff)
downloadopencode-544315dff74beef8f854bb1e658e6f429ad7cfdc.tar.gz
opencode-544315dff74beef8f854bb1e658e6f429ad7cfdc.zip
docs: add describe annotation to snapshot config field (#17861)
Co-authored-by: Aiden Cline <[email protected]>
-rw-r--r--packages/opencode/src/config/config.ts7
-rw-r--r--packages/web/src/content/docs/config.mdx17
2 files changed, 23 insertions, 1 deletions
diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts
index 27ba4e186..47afdfd7d 100644
--- a/packages/opencode/src/config/config.ts
+++ b/packages/opencode/src/config/config.ts
@@ -1052,7 +1052,12 @@ export namespace Config {
})
.optional(),
plugin: z.string().array().optional(),
- snapshot: z.boolean().optional(),
+ snapshot: z
+ .boolean()
+ .optional()
+ .describe(
+ "Enable or disable snapshot tracking. When false, filesystem snapshots are not recorded and undoing or reverting will not undo/redo file changes. Defaults to true.",
+ ),
share: z
.enum(["manual", "auto", "disabled"])
.optional()
diff --git a/packages/web/src/content/docs/config.mdx b/packages/web/src/content/docs/config.mdx
index d2770ee20..a9c39bd59 100644
--- a/packages/web/src/content/docs/config.mdx
+++ b/packages/web/src/content/docs/config.mdx
@@ -424,6 +424,23 @@ Customize keybinds in `tui.json`.
---
+### Snapshot
+
+OpenCode uses snapshots to track file changes during agent operations, enabling you to undo and revert changes within a session. Snapshots are enabled by default.
+
+For large repositories or projects with many submodules, the snapshot system can cause slow indexing and significant disk usage as it tracks all changes using an internal git repository. You can disable snapshots using the `snapshot` option.
+
+```json title="opencode.json"
+{
+ "$schema": "https://opencode.ai/config.json",
+ "snapshot": false
+}
+```
+
+Note that disabling snapshots means changes made by the agent cannot be rolled back through the UI.
+
+---
+
### Autoupdate
OpenCode will automatically download any new updates when it starts up. You can disable this with the `autoupdate` option.