1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
id = "codex"
version = "2026.06.10.1"
min_engine_version = 1
updated_at = "2026-06-10T00:00:00Z"
[[rules]]
id = "transcript_viewer"
state = "unknown"
priority = 1000
region = "after_last_prompt_marker"
skip_state_update = true
contains = ["↑/↓ to scroll", "pgup/pgdn to", "home/end to jump", "q to quit"]
any = [
{ contains = ["esc to edit prev"] },
{ contains = ["esc/← to edit prev"] },
]
[[rules]]
id = "live_strong_blocker"
state = "blocked"
priority = 900
region = "after_last_prompt_marker"
visible_blocker = true
any = [
{ contains = ["press enter to confirm or esc to cancel"] },
{ contains = ["enter to submit answer"] },
{ contains = ["enter to submit all"] },
{ contains = ["allow command?"] },
]
[[rules]]
id = "current_live_working"
state = "working"
priority = 710
region = "current_prompt_block_marker"
visible_working = true
any = [
{ line_regex = ['(?i)^\s*• queued follow-up inputs'] },
{ line_regex = ['(?i)^\s*• messages to be submitted after next tool call'] },
{ contains = ["Waiting for background terminal"] },
{ contains = ["background terminal running"] },
{ contains = ["/ps to view"] },
{ contains = ["/stop to close"] },
{ regex = ['(?i)^\s*•.*\([0-9]+[hms](?: [0-9]+[hms]){0,2}.*esc\s*(…|to interrupt|to .+…)'] },
]
[[rules]]
id = "current_working_status"
state = "working"
priority = 700
region = "current_prompt_block_marker"
any = [
{ line_regex = ['(?i)^\s*• queued follow-up inputs'] },
{ line_regex = ['(?i)^\s*• messages to be submitted after next tool call'] },
{ contains = ["Working ("] },
{ contains = ["Waiting for background terminal ("] },
{ contains = ["Booting MCP server:"] },
{ contains = ["reviewing approval request ("] },
{ regex = ['(?i)reviewing .* approval requests \('] },
{ regex = ['(?i)^\s*•.*\([0-9]+[hms](?: [0-9]+[hms]){0,2}\).* • esc(…| to interrupt| to .+…)'] },
]
[[rules]]
id = "current_working_status_with_detail"
state = "working"
priority = 690
region = "after_current_prompt_block_marker"
any = [
{ contains = ["Queued follow-up inputs"] },
{ contains = ["Messages to be submitted after next tool call"] },
]
[[rules]]
id = "weak_blocker"
state = "blocked"
priority = 600
region = "whole_recent"
any = [
{ contains = ["[y/n]"] },
{ contains = ["yes (y)"] },
{ contains = ["do you want to"], any = [{ contains = ["yes"] }, { contains = ["❯"] }] },
{ contains = ["would you like to"], any = [{ contains = ["yes"] }, { contains = ["❯"] }] },
]
[[rules]]
id = "fallback_working"
state = "working"
priority = 500
region = "whole_recent_without_current_prompt_marker"
visible_working = true
any = [
{ line_regex = ['(?i)^\s*•.*\([0-9]+[hms](?: [0-9]+[hms]){0,2}.*esc\s*(…|to interrupt|to .+…)'] },
{ contains = ["esc to interrupt"] },
{ all = [{ contains = ["ctrl+c to interrupt"] }, { line_regex = ['(?i)^\s*•'] }] },
{ all = [{ contains = ["press esc to interrupt"] }, { line_regex = ['(?i)^\s*•'] }] },
]
[[rules]]
id = "fallback_status_working"
state = "working"
priority = 490
region = "whole_recent_without_current_prompt_marker"
any = [
{ line_regex = ['(?i)^\s*•.*(Working \(|Waiting for background terminal \(|Booting MCP server:|reviewing approval request \(|reviewing .* approval requests \()'] },
]
|