diff --git a/experiment/experiment.go b/experiment/experiment.go
index 089b664..068f9d7 100644
--- a/experiment/experiment.go
+++ b/experiment/experiment.go
@@ -29,10 +29,6 @@
 			Description: "Enable all experiments",
 		},
 		{
-			Name:        "not_done",
-			Description: "Let the model backtrack halfway through a done tool call",
-		},
-		{
 			Name:        "llm_review",
 			Description: "Add an LLM step to the codereview tool",
 		},
diff --git a/loop/donetool.go b/loop/donetool.go
index 0870fb1..4261a98 100644
--- a/loop/donetool.go
+++ b/loop/donetool.go
@@ -4,10 +4,8 @@
 	"context"
 	"encoding/json"
 	"fmt"
-	"strings"
 
 	"sketch.dev/claudetool/codereview"
-	"sketch.dev/experiment"
 	"sketch.dev/llm"
 )
 
@@ -17,31 +15,11 @@
 // 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 *codereview.CodeReviewer) *llm.Tool {
-	description := doneDescription
-	if experiment.Enabled("not_done") {
-		description = backtrackDoneDescription
-	}
 	return &llm.Tool{
 		Name:        "done",
-		Description: description,
-		InputSchema: json.RawMessage(doneChecklistSchema()),
+		Description: doneDescription,
+		InputSchema: json.RawMessage(doneChecklistJSONSchema),
 		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
@@ -62,13 +40,6 @@
 	}
 }
 
-func doneChecklistSchema() string {
-	if experiment.Enabled("not_done") {
-		return backtrackDoneChecklistJSONSchema
-	}
-	return doneChecklistJSONSchema
-}
-
 // TODO: this is ugly, maybe JSON-encode a deeply nested map[string]any instead? also ugly.
 const (
 	doneDescription         = `Use this tool when you have achieved the user's goal. The parameters form a checklist which you should evaluate.`
@@ -128,58 +99,3 @@
   }
 }`
 )
-
-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".`
-	backtrackDoneChecklistJSONSchema = `{
-  "$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": "Create git commits for any code changes you made, adding --trailer 'Co-Authored-By: sketch <hello@sketch.dev>' and --trailer 'Change-ID: s$(openssl rand -hex 8)k'. The git user is already configured correctly."
-        }
-      },
-      "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"]
-        }
-      }
-    }
-  }
-}`
-)
