diff --git a/readme.md b/readme.md
index d8499ade..ba7f6231 100644
--- a/readme.md
+++ b/readme.md
@@ -178,10 +178,11 @@ There are also individual properties to check for each specific AI CLI
```cs
var isCopilot = AiCliDetector.IsCopilot;
+var isCursor = AiCliDetector.IsCursor;
var isAider = AiCliDetector.IsAider;
var isClaudeCode = AiCliDetector.IsClaudeCode;
```
-snippet source | anchor
+snippet source | anchor
diff --git a/src/DiffEngine.Tests/AiCliDetectorTest.cs b/src/DiffEngine.Tests/AiCliDetectorTest.cs
index acacd970..49acc380 100644
--- a/src/DiffEngine.Tests/AiCliDetectorTest.cs
+++ b/src/DiffEngine.Tests/AiCliDetectorTest.cs
@@ -9,6 +9,7 @@ public void Props()
#region AiCliDetectorProps
var isCopilot = AiCliDetector.IsCopilot;
+ var isCursor = AiCliDetector.IsCursor;
var isAider = AiCliDetector.IsAider;
var isClaudeCode = AiCliDetector.IsClaudeCode;
diff --git a/src/DiffEngine/AiCliDetector.cs b/src/DiffEngine/AiCliDetector.cs
index bb822b90..28a780c6 100644
--- a/src/DiffEngine/AiCliDetector.cs
+++ b/src/DiffEngine/AiCliDetector.cs
@@ -18,11 +18,18 @@ static AiCliDetector()
// https://docs.anthropic.com/en/docs/build-with-claude/claude-cli
IsClaudeCode = variables.Contains("CLAUDECODE") || variables.Contains("CLAUDE_CODE_ENTRYPOINT");
+ // Cursor
+ // https://cursor.com/docs/agent/terminal
+ IsCursor = variables.Contains("CURSOR_AGENT");
+
Detected = IsCopilot ||
IsAider ||
- IsClaudeCode;
+ IsClaudeCode ||
+ IsCursor;
}
+ public static bool IsCursor { get; set; }
+
public static bool IsCopilot { get; }
public static bool IsAider { get; }