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"]
-        }
-      }
-    }
-  }
-}`
-)
