[PR #5405] change[langgraph]: clean up Interrupt interface for v1 #4415

Closed
opened 2026-02-20 17:50:09 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langchain-ai/langgraph/pull/5405

State: closed
Merged: Yes


Fixes https://github.com/langchain-ai/langgraph/issues/5016

This PR introduces a few changes to the Interrupt interface to prepare for the v1 release. Users only need to be exposed to an interrupt's:

  • value
  • id

Eventually, we'll add response_schema as well (think, MCP elicitation). See https://github.com/langchain-ai/langgraph/issues/5027.

Renaming / public deprecation:

  • interrupt_id -> id
  • NodeInterrupt - users can just use interrupt which is more modern and flexible

Private deprecations:

  • when - always 'during', so this doesn't have much value
  • resumable - always True, so doesn't have much value
  • ns - largely internal information, id can be used for mapping interrupt -> resume value

New convenience methods

  • Interrupt.from_ns coerces a checkpoint ns string -> an interrupt id

Notes

  • Considered removing the tuple wrapper around all interrupts, but this is a breaking change of low value, so not planning on implementation for now.
  • Tests are added to confirm that old style interrupts can be rehydrated into new ones :)
**Original Pull Request:** https://github.com/langchain-ai/langgraph/pull/5405 **State:** closed **Merged:** Yes --- Fixes https://github.com/langchain-ai/langgraph/issues/5016 This PR introduces a few changes to the `Interrupt` interface to prepare for the v1 release. Users only need to be exposed to an interrupt's: * value * id Eventually, we'll add `response_schema` as well (think, [MCP elicitation](https://modelcontextprotocol.io/specification/draft/client/elicitation)). See https://github.com/langchain-ai/langgraph/issues/5027. ## Renaming / public deprecation: * `interrupt_id` -> `id` * `NodeInterrupt` - users can just use `interrupt` which is more modern and flexible ## Private deprecations: * `when` - always `'during'`, so this doesn't have much value * `resumable` - always `True`, so doesn't have much value * `ns` - largely internal information, `id` can be used for mapping interrupt -> resume value ## New convenience methods * `Interrupt.from_ns` coerces a checkpoint ns string -> an interrupt id ## Notes * Considered removing the tuple wrapper around all interrupts, but this is a breaking change of low value, so not planning on implementation for now. * Tests are added to confirm that old style interrupts can be rehydrated into new ones :)
yindo added the pull-request label 2026-02-20 17:50:09 -05:00
yindo closed this issue 2026-02-20 17:50:10 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langchain-ai/langgraph#4415