File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -410,18 +410,18 @@ impl RunSessionState {
410410 cc_session:: ClaudeCodeState :: StopUseTool { is_error } => {
411411 if is_error {
412412 let _ = self . send_display ( & "Tool use stopped with error." ) . await ;
413+ self . session . send_end_response ( ) . map_err ( |e| {
414+ log:: error!(
415+ "{}:{:x} error sending end response after tool use stop: {}" ,
416+ self . session. id,
417+ self . session. request_id,
418+ e
419+ ) ;
420+ SendStateError :: ClientError
421+ } ) ?;
413422 } else {
414423 let _ = self . send_display ( & "Tool use completed successfully." ) . await ;
415424 }
416- self . session . send_end_response ( ) . map_err ( |e| {
417- log:: error!(
418- "{}:{:x} error sending end response after tool use stop: {}" ,
419- self . session. id,
420- self . session. request_id,
421- e
422- ) ;
423- SendStateError :: ClientError
424- } ) ?;
425425 }
426426 } ;
427427
@@ -548,11 +548,14 @@ fn update_state(
548548 return true ;
549549 }
550550
551- for ( r, nr) in request. iter_mut ( ) . zip ( new_request. into_iter ( ) ) {
551+ for ( r, mut nr) in request. iter_mut ( ) . zip ( new_request. into_iter ( ) ) {
552552 if r. submited && !nr. done {
553- log:: debug!( "Received PreUseTool state without done tool after submited" ) ;
553+ log:: debug!(
554+ "Received PreUseTool state without done tool after submited\n {r:?}\n vs\n {nr:?}"
555+ ) ;
554556 return false ;
555557 }
558+ nr. submited = r. submited ;
556559 * r = nr;
557560 }
558561 return true ;
You can’t perform that action at this time.
0 commit comments