diff --git a/src/strands/types/interrupt.py b/src/strands/types/interrupt.py index 59c46e807..d67148c5a 100644 --- a/src/strands/types/interrupt.py +++ b/src/strands/types/interrupt.py @@ -105,7 +105,7 @@ def interrupt(self, name: str, reason: Any = None, response: Any = None) -> Any: state = agent._interrupt_state interrupt_ = state.interrupts.setdefault(id, Interrupt(id, name, reason, response)) - if interrupt_.response: + if interrupt_.response is not None: return interrupt_.response raise InterruptException(interrupt_) diff --git a/tests/strands/types/test_interrupt.py b/tests/strands/types/test_interrupt.py index 9e79a4626..1e81165ff 100644 --- a/tests/strands/types/test_interrupt.py +++ b/tests/strands/types/test_interrupt.py @@ -79,6 +79,12 @@ def test_interrupt_hook_event_interrupt_response_empty(interrupt, agent, interru interrupt_hook_event.interrupt("test_name") +def test_interrupt_hook_event_interrupt_response_falsey(interrupt_hook_event): + tru_response = interrupt_hook_event.interrupt("test_name", response=False) + exp_response = False + assert tru_response == exp_response + + def test_interrupt_hook_event_interrupt_missing_agent(): class Event(_Interruptible): pass