Skip to content

fix: durable interrupt tools for cas#677

Merged
JoshParkSJ merged 2 commits intomainfrom
josh/fix-durable-interrupt
Mar 11, 2026
Merged

fix: durable interrupt tools for cas#677
JoshParkSJ merged 2 commits intomainfrom
josh/fix-durable-interrupt

Conversation

@JoshParkSJ
Copy link
Contributor

@JoshParkSJ JoshParkSJ commented Mar 9, 2026

Fixes durable_interrupt tools like RPA tools (durable_interrupt was introduced 2w ago). This only broke for conversational agents because convo agents set handle_tool_errors=True which catches generic exceptions (like GraphInterrupt/GraphBubbleUp) and converts it into an error ToolMessage (since we want to convey to user something went wrong instead of just crashing on exceptions)

By raising GraphBubbleUp before the generic handler, the interrupt properly bubbles up to Langgraph, pauses execution, saves the checkpoint - and allows the tool to resume

Copy link
Contributor

@andreitava-uip andreitava-uip left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How come this behavior did not occur before durable_interrupt? To my knowledge, It does nothing to the propagation mechanism for interrupts.

Comment on lines +92 to +93
except GraphBubbleUp:
raise
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you leave a comment explaining why exactly this exception must be reraised. Without it it looks confusing for devs/llms that do not have the specific context of the issues.

Ideally with a link to langgraph docs about interrupt propagation

@JoshParkSJ
Copy link
Contributor Author

@JoshParkSJ JoshParkSJ merged commit 2947c1e into main Mar 11, 2026
39 checks passed
@JoshParkSJ JoshParkSJ deleted the josh/fix-durable-interrupt branch March 11, 2026 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants