diff --git a/experiment/experiment.go b/experiment/experiment.go
index 1e57f8d..b2e73cf 100644
--- a/experiment/experiment.go
+++ b/experiment/experiment.go
@@ -27,6 +27,10 @@
 			Name:        "all",
 			Description: "Enable all experiments",
 		},
+		{
+			Name:        "not_done",
+			Description: "Let the model backtrack halfway through a done tool call",
+		},
 	}
 	byName = map[string]*Experiment{}
 )
diff --git a/loop/donetool.go b/loop/donetool.go
index c663ebb..b5358e9 100644
--- a/loop/donetool.go
+++ b/loop/donetool.go
@@ -4,8 +4,10 @@
 	"context"
 	"encoding/json"
 	"fmt"
+	"strings"
 
 	"sketch.dev/claudetool"
+	"sketch.dev/experiment"
 	"sketch.dev/llm"
 )
 
@@ -15,11 +17,31 @@
 // the tool results here, so we don't tell the tool to say "hey, really check this"
 // at the moment, though we've tried.
 func makeDoneTool(codereview *claudetool.CodeReviewer, gitUsername, gitEmail string) *llm.Tool {
+	description := doneDescription
+	if experiment.Enabled("not_done") {
+		description = backtrackDoneDescription
+	}
 	return &llm.Tool{
 		Name:        "done",
-		Description: doneDescription,
+		Description: description,
 		InputSchema: json.RawMessage(doneChecklistJSONSchema(gitUsername, gitEmail)),
 		Run: func(ctx context.Context, input json.RawMessage) (string, error) {
+			if experiment.Enabled("not_done") {
+				if strings.Contains(strings.ToLower(string(input)), "cancel done tool call") {
+					return "", fmt.Errorf("cancelled")
+				}
+				m := make(map[string]struct {
+					Status string
+				})
+				if err := json.Unmarshal(input, &m); err != nil {
+					return "", err
+				}
+				for _, checklist := range m {
+					if checklist.Status == "cancel" {
+						return "", fmt.Errorf("cancelled")
+					}
+				}
+			}
 			// Cannot be done with a messy git.
 			if err := codereview.RequireNormalGitState(ctx); err != nil {
 				return "", err
@@ -47,7 +69,13 @@
 	if err != nil {
 		panic(err)
 	}
-	return doneChecklistJSONSchemaPrefix + string(desc) + doneChecklistJSONSchemaSuffix
+	prefix := doneChecklistJSONSchemaPrefix
+	suffix := doneChecklistJSONSchemaSuffix
+	if experiment.Enabled("not_done") {
+		prefix = backtrackDoneChecklistJSONSchemaPrefix
+		suffix = backtrackDoneChecklistJSONSchemaSuffix
+	}
+	return prefix + string(desc) + suffix
 }
 
 // TODO: this is ugly, maybe JSON-encode a deeply nested map[string]any instead? also ugly.
@@ -111,3 +139,60 @@
   }
 }`
 )
+
+const (
+	backtrackDoneDescription               = `This tool marks task completion. Review the checklist items carefully - if any item's status is "cancel" or any thoughts contain "Cancel done tool call", the entire call will be ignored without user notification. Cancellation is free and preferred over inaccurately marking items as "done" or "not applicable".`
+	backtrackDoneChecklistJSONSchemaPrefix = `{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Checklist",
+  "description": "A schema for tracking checklist items",
+  "type": "object",
+  "required": ["checklist_items"],
+  "properties": {
+    "checklist_items": {
+      "type": "object",
+      "description": "Collection of checklist items",
+      "properties": {
+        "wrote_tests": {
+          "$ref": "#/definitions/checklistItem",
+          "description": "If code was changed, tests were written or updated."
+        },
+        "passes_tests": {
+          "$ref": "#/definitions/checklistItem",
+          "description": "If any commits were made, tests pass."
+        },
+        "code_reviewed": {
+          "$ref": "#/definitions/checklistItem",
+          "description": "If any commits were made, the codereview tool was run and its output was addressed."
+        },
+        "git_commit": {
+          "$ref": "#/definitions/checklistItem",
+          "description": `
+
+	backtrackDoneChecklistJSONSchemaSuffix = `
+        }
+      },
+      "additionalProperties": {
+        "$ref": "#/definitions/checklistItem"
+      }
+    }
+  },
+  "definitions": {
+    "checklistItem": {
+      "type": "object",
+      "required": ["thoughts", "status"],
+      "properties": {
+        "thoughts": {
+          "type": "string",
+          "description": "Reflections on this item's status - be honest about any issues"
+        },
+        "status": {
+          "type": "string",
+          "description": "Current status - when in doubt, cancel",
+          "enum": ["done", "cancel", "n/a"]
+        }
+      }
+    }
+  }
+}`
+)
