LangChain just dropped version 1.3.3, and it's not just a routine bump. The new release introduces smarter human-in-the-loop controls and tightens integration with LangGraph. For teams building anything from customer service bots to automated research agents, this update adds meaningful flexibility. Let's dig into the two standout changes — because they're worth your attention.
The headline feature: a new interrupt_mode and when predicate added to the HumanInTheLoopMiddleware. That's PR #37579 if you're tracking. Previously, pausing a workflow for human input was all-or-nothing. Now you can specify exactly when an agent should stop and wait — based on runtime conditions or custom logic. It's a small change with big implications.
Elsewhere, LangChain 1.3.3 also introduces project subagent runs onto the typed run.subagents channel (PR #37739). This is more of an internal wiring upgrade, but it matters for anyone running complex multi-agent systems. Think of it as giving your agents a dedicated broadcast channel.
And on the dependency side: the LangGraph version was bumped to 1.2.4, and — importantly — the dependency range was loosened. That means LangChain now plays nice with a wider set of LangGraph releases, reducing version conflicts during upgrades.
First, the human-in-the-loop changes are a game-changer for regulated workflows. Imagine a financial compliance agent that only pauses when transaction amounts exceed a threshold — that's exactly what interrupt_mode with a predicate enables. You can build smarter guardrails without overloading human reviewers.
Second, the subagent channel update fixes a real pain point. In earlier versions, nested agent runs often lost context or stepped on each other's toes. Now each subagent gets its own lane on the run.subagents channel. That's cleaner debugging and more reliable orchestration.
And the dependency relaxation? It's a quiet win. LangGraph is evolving fast, and being locked to a narrow range was a headache. Now teams can adopt newer LangGraph features without waiting for a LangChain patch. It's the kind of maintenance that keeps developer velocity high.
One thing I'd love to see next: more examples in the docs showing the new middleware predicates in action. But LangChain's team is moving fast. This release proves they're listening to real-world needs. If you're already in the ecosystem, upgrade and test those interrupt conditions. If you're not? This is a solid moment to start.
Official Source: https://github.com/langchain-ai/langchain/releases/tag/langchain%3D%3D1.3.3