File tree Expand file tree Collapse file tree
renderer/features/tasks/conversations Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -15,6 +15,9 @@ function getNotificationBody(event: AgentEvent): string | null {
1515 if ( event . type === 'notification' ) {
1616 const { notificationType } = event . payload ;
1717 if ( ! notificationType ) return null ;
18+ if ( event . providerId === 'codex' && notificationType === 'idle_prompt' ) {
19+ return 'Your agent has finished working' ;
20+ }
1821 if ( isAttentionNotification ( notificationType ) ) {
1922 return 'Your agent is waiting for input' ;
2023 }
Original file line number Diff line number Diff line change @@ -149,7 +149,15 @@ export class LocalConversationProvider implements ConversationProvider {
149149 } ) ;
150150
151151 const hookActive = port > 0 ;
152- const useHooksOnly = hookActive && providerDef ?. supportsHooks && hooksAvailable ;
152+ /*
153+ * Codex hooks can be skipped by the CLI in some live-session edge cases; keep
154+ * the output classifier active as a fallback so the UI can leave "working".
155+ */
156+ const useHooksOnly =
157+ hookActive &&
158+ providerDef ?. supportsHooks &&
159+ hooksAvailable &&
160+ conversation . providerId !== 'codex' ;
153161
154162 if ( ! useHooksOnly ) {
155163 wireAgentClassifier ( {
Original file line number Diff line number Diff line change @@ -113,6 +113,13 @@ export class ConversationManagerStore implements IDisposable {
113113 if ( event . type === 'notification' ) {
114114 const nt = event . payload . notificationType ;
115115 if ( ! isAttentionNotification ( nt ) ) return ;
116+ if ( event . providerId === 'codex' && nt === 'idle_prompt' ) {
117+ if ( conversationStore . status === 'working' ) {
118+ conversationStore . setStatus ( 'completed' ) ;
119+ soundPlayer . play ( 'task_complete' , appFocused ) ;
120+ }
121+ return ;
122+ }
116123 conversationStore . setAwaitingInput ( nt ) ;
117124 soundPlayer . play ( 'needs_attention' , appFocused ) ;
118125 return ;
You can’t perform that action at this time.
0 commit comments