aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-08-20 03:52:18 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-08-20 03:52:59 +0300
commitffc4e263168f9e81d5bbc14db4b16ca9818d684a (patch)
treefbe188951080d7c563cd22a3788d49e09b26b2e0
parent7d35ebe7c4d8eec960b30216829e7247d628f423 (diff)
fix: add claude screen activity fallbacks
refs #1630 refs #2241
-rw-r--r--docs/next/CHANGELOG.md1
-rw-r--r--src/detect/manifests/claude.toml31
-rw-r--r--website/agent-detection/claude.toml31
3 files changed, 59 insertions, 4 deletions
diff --git a/docs/next/CHANGELOG.md b/docs/next/CHANGELOG.md
index a6d2b1ec..ac30bfb0 100644
--- a/docs/next/CHANGELOG.md
+++ b/docs/next/CHANGELOG.md
@@ -3,6 +3,7 @@
## Unreleased
### Fixed
+- Claude Code panes now use visible turn, background shell, and background agent activity as working-state fallbacks when OSC titles are unavailable or disabled. (#1630, #2241)
- Tab bar status commands now remove ESC-prefixed terminal control sequences instead of displaying their sequence bodies as text. (#3001)
- Unix plugin pane commands now default `PWD` to their resolved working directory, so direct popup tools open at explicit `--cwd` paths while preserving caller-provided `PWD` values. (#2984)
diff --git a/src/detect/manifests/claude.toml b/src/detect/manifests/claude.toml
index 514fdd04..5f9c79d9 100644
--- a/src/detect/manifests/claude.toml
+++ b/src/detect/manifests/claude.toml
@@ -1,7 +1,7 @@
id = "claude"
-version = "2026.08.13.1"
+version = "2026.08.19.1"
min_engine_version = 2
-updated_at = "2026-08-13T00:00:00Z"
+updated_at = "2026-08-19T00:00:00Z"
aliases = ["claude-code"]
[[rules]]
@@ -14,6 +14,33 @@ visible_working = true
regex = ['^[\x{2800}-\x{28FF}\x{25D0}-\x{25D3}] ']
[[rules]]
+id = "live_turn_working"
+state = "working"
+priority = 970
+region = "bottom_non_empty_lines(12)"
+visible_working = true
+any = [
+ { line_regex = ['^\s*[⏸⏵].*esc to interrupt(?:\s|·|$)'] },
+ { line_regex = ['^\s*[\x{002A}\x{00B7}\x{2722}\x{2736}\x{273B}\x{273D}]\s+\S.*…(?:\s+\(\d+[smh](?:\s|·)|\s*$)'] },
+]
+
+[[rules]]
+id = "background_shell_working"
+state = "working"
+priority = 965
+region = "bottom_non_empty_lines(5)"
+visible_working = true
+line_regex = ['^\s*[⏸⏵].*·\s+[1-9]\d*\s+shells?\s+(?:·|$)']
+
+[[rules]]
+id = "background_agents_working"
+state = "working"
+priority = 965
+region = "last_non_empty_above_prompt_box"
+visible_working = true
+line_regex = ['^\s*[\x{002A}\x{00B7}\x{2722}\x{2736}\x{273B}\x{273D}]\s+Waiting for [1-9]\d* background agents? to finish\s*$']
+
+[[rules]]
id = "btw_overlay_working"
state = "working"
priority = 975
diff --git a/website/agent-detection/claude.toml b/website/agent-detection/claude.toml
index 514fdd04..5f9c79d9 100644
--- a/website/agent-detection/claude.toml
+++ b/website/agent-detection/claude.toml
@@ -1,7 +1,7 @@
id = "claude"
-version = "2026.08.13.1"
+version = "2026.08.19.1"
min_engine_version = 2
-updated_at = "2026-08-13T00:00:00Z"
+updated_at = "2026-08-19T00:00:00Z"
aliases = ["claude-code"]
[[rules]]
@@ -14,6 +14,33 @@ visible_working = true
regex = ['^[\x{2800}-\x{28FF}\x{25D0}-\x{25D3}] ']
[[rules]]
+id = "live_turn_working"
+state = "working"
+priority = 970
+region = "bottom_non_empty_lines(12)"
+visible_working = true
+any = [
+ { line_regex = ['^\s*[⏸⏵].*esc to interrupt(?:\s|·|$)'] },
+ { line_regex = ['^\s*[\x{002A}\x{00B7}\x{2722}\x{2736}\x{273B}\x{273D}]\s+\S.*…(?:\s+\(\d+[smh](?:\s|·)|\s*$)'] },
+]
+
+[[rules]]
+id = "background_shell_working"
+state = "working"
+priority = 965
+region = "bottom_non_empty_lines(5)"
+visible_working = true
+line_regex = ['^\s*[⏸⏵].*·\s+[1-9]\d*\s+shells?\s+(?:·|$)']
+
+[[rules]]
+id = "background_agents_working"
+state = "working"
+priority = 965
+region = "last_non_empty_above_prompt_box"
+visible_working = true
+line_regex = ['^\s*[\x{002A}\x{00B7}\x{2722}\x{2736}\x{273B}\x{273D}]\s+Waiting for [1-9]\d* background agents? to finish\s*$']
+
+[[rules]]
id = "btw_overlay_working"
state = "working"
priority = 975