fix(server-utils): Don't capture caller-handled LangChain errors - #23593
Merged
Conversation
Contributor
size-limit report 📦
|
LangChain's callback error handlers (handleLLMError, handleChainError, handleToolError) and the embeddings wrapper called captureException with handled: false. These errors reject invoke()/embedQuery() to the caller, so the instrumentation recorded an "unhandled crash" for an error the application handles, the same issue fixed for the OpenAI, Anthropic and Google GenAI client wrappers in #23024. The span is still marked failed and the error still propagates; only the event goes away. The integration tests masked these with .ignore('event'); those masks are removed so the tests no longer hide instrumentation-level captures. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…t capturing The embeddings wrapper no longer records caller-handled errors, so the unit test now asserts the error propagates and captureException is not called. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
nicohrubec
force-pushed
the
fix/langchain-instrumentation-error-capture
branch
from
August 26, 2026 08:46
a843a9f to
797b166
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 797b166. Configure here.
…embeddings auto-instrumentation The Node diagnostics-channel path for embedQuery/embedDocuments passed captureError with handled: false into bindTracingChannelToSpan, so it still recorded caller-handled embedding errors as unhandled crashes even after the manual instrumentEmbeddingMethod wrapper stopped. Drop captureError; the span is still marked failed on error and the rejection propagates to the caller. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
nicohrubec
marked this pull request as ready for review
August 26, 2026 09:24
nicohrubec
requested review from
JPeer264,
andreiborza and
isaacs
and removed request for
a team
August 26, 2026 09:24
andreiborza
approved these changes
Aug 26, 2026
nicohrubec
added a commit
that referenced
this pull request
Aug 26, 2026
) LangGraph's compiled-graph invoke wrapper and tool-node wrapper called `captureException(error, { handled: false })` and then rethrew. The error rejects `invoke()` to the caller, so the instrumentation recorded an "unhandled crash" for an error the application handles. This is the same problem fixed for the OpenAI, Anthropic, and Google GenAI client wrappers in #23024, and for LangChain in #23593. Related to #23023 Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
nicohrubec
added a commit
that referenced
this pull request
Aug 26, 2026
Backport of: #23593 ## Differences to the original PR - On v10 the LangChain instrumentation lives in `packages/core/src/tracing/langchain/` (it moved to `@sentry/server-utils` on v11), so the callback-handler and embeddings changes are applied there with v10's internal imports.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

LangChain's callback error handlers (
handleLLMError,handleChainError,handleToolError) and the embeddings wrapper calledcaptureException(error, { handled: false }). These errors rejectinvoke()/embedQuery()to the caller, so the instrumentation recorded an "unhandled crash" for an error the application handles. This is the same problem fixed for the OpenAI, Anthropic, and Google GenAI client wrappers in #23024.Related to #23023