Skip to content

fix(v10/core): Don't capture caller-handled LangChain errors - #23640

Merged
nicohrubec merged 1 commit into
backport/v10/langgraph-error-capturefrom
backport/v10/langchain-error-capture
Aug 26, 2026
Merged

fix(v10/core): Don't capture caller-handled LangChain errors#23640
nicohrubec merged 1 commit into
backport/v10/langgraph-error-capturefrom
backport/v10/langchain-error-capture

Conversation

@nicohrubec

@nicohrubecnicohrubec commented Aug 26, 2026

Copy link
Copy Markdown
Member

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.

@github-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser27.75 kBaddedadded
@sentry/browser - with treeshaking flags26.19 kBaddedadded
@sentry/browser (incl. Tracing)46.6 kBaddedadded
@sentry/browser (incl. Tracing + Span Streaming)48.39 kBaddedadded
@sentry/browser (incl. Tracing, Profiling)51.36 kBaddedadded
@sentry/browser (incl. Tracing, Replay)85.84 kBaddedadded
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags75.48 kBaddedadded
@sentry/browser (incl. Tracing, Replay with Canvas)90.58 kBaddedadded
@sentry/browser (incl. Tracing, Replay, Feedback)103.21 kBaddedadded
@sentry/browser (incl. Feedback)44.92 kBaddedadded
@sentry/browser (incl. sendFeedback)32.54 kBaddedadded
@sentry/browser (incl. FeedbackAsync)37.68 kBaddedadded
@sentry/browser (incl. Metrics)28.83 kBaddedadded
@sentry/browser (incl. Logs)29.06 kBaddedadded
@sentry/browser (incl. Metrics & Logs)29.75 kBaddedadded
@sentry/react29.56 kBaddedadded
@sentry/react (incl. Tracing)48.86 kBaddedadded
@sentry/vue33.18 kBaddedadded
@sentry/vue (incl. Tracing)48.57 kBaddedadded
@sentry/svelte27.77 kBaddedadded
CDN Bundle30.14 kBaddedadded
CDN Bundle (incl. Tracing)48.57 kBaddedadded
CDN Bundle (incl. Logs, Metrics)31.72 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics)49.87 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics)70.99 kBaddedadded
CDN Bundle (incl. Tracing, Replay)86.07 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)87.37 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback)91.87 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)93.14 kBaddedadded
CDN Bundle - uncompressed89.87 kBaddedadded
CDN Bundle (incl. Tracing) - uncompressed146.79 kBaddedadded
CDN Bundle (incl. Logs, Metrics) - uncompressed94.58 kBaddedadded
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed150.77 kBaddedadded
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed219.34 kBaddedadded
CDN Bundle (incl. Tracing, Replay) - uncompressed266.03 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed269.99 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed279.73 kBaddedadded
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed283.69 kBaddedadded
@sentry/nextjs (client)51.41 kBaddedadded
@sentry/sveltekit (client)47.02 kBaddedadded
@sentry/core/server80.5 kBaddedadded
@sentry/core/browser66.72 kBaddedadded
@sentry/node-core63.27 kBaddedadded
@sentry/node125.76 kBaddedadded
@sentry/node (incl. diagnostics channel injection)151.18 kBaddedadded
@sentry/node/import (ESM hook with diagnostics-channel injection)70.03 kBaddedadded
@sentry/node/light51.43 kBaddedadded
@sentry/node - without tracing74.95 kBaddedadded
@sentry/aws-serverless84.22 kBaddedadded
@sentry/cloudflare (withSentry) - minified202.05 kBaddedadded
@sentry/cloudflare (withSentry)496.75 kBaddedadded

@nicohrubec
nicohrubec marked this pull request as ready for review August 26, 2026 11:20
@nicohrubec
nicohrubec requested review from a team as code ownersAugust 26, 2026 11:20
@nicohrubec
nicohrubec requested review from andreiborza and isaacs and removed request for a teamAugust 26, 2026 11:20
@nicohrubec
nicohrubecforce-pushed the backport/v10/langchain-error-capture branch from 1614c35 to 10ff603CompareAugust 26, 2026 11:50
@nicohrubec
nicohrubec merged commit b2ece76 into v10Aug 26, 2026
311 of 346 checks passed
@nicohrubec
nicohrubec deleted the backport/v10/langchain-error-capture branch August 26, 2026 12:10
brandhaug added a commit to brandhaug/b2b-saas-starter that referenced this pull request Sep 5, 2026
## Dependency Updates
| Package | From | To | Type |
| --- | --- | --- | --- |
| `@sentry/react` | 10.71.0 | 10.73.0 | minor |
## Release Notes
<details>
<summary><b>@sentry/react</b> (10.71.0 → 10.73.0) — 2 releases</summary>
<details>
<summary><b>10.73.0</b></summary>
### Important Changes
- **feat(v10/nextjs): Add `@sentry/nextjs/config` entry point
([#23766](getsentry/sentry-javascript#23766
`withSentryConfig` is now available from `@sentry/nextjs/config`, the
path it moves to in v11. Importing it from `@sentry/nextjs` still works
on v10 but logs a warning once, so you can change your `next.config`
file today and upgrade to v11 without touching it again.
```js
// next.config.mjs
- import { withSentryConfig } from '@sentry/nextjs';
+ import { withSentryConfig } from '@sentry/nextjs/config';
```
### Other Changes
- feat(v10/node): Deprecate `shouldHandleError` on
`setupExpressErrorHandler` and `setupFasitfyErrorHandler`
([#23734](getsentry/sentry-javascript#23734))
- fix(v10/cloudflare): Instrument Durable Object handlers installed as
read-only properties
([#23769](getsentry/sentry-javascript#23769))
<details>
<summary><strong>Internal Changes</strong></summary>
- test(v10/nextjs): Drop nextjs-16-cf-workers canary variant
([#23775](getsentry/sentry-javascript#23775))
</details>
## Bundle size 📦 | Path | Size |
|
--------------------------------------------------------------------------
| ----------------- |
| @sentry/browser | 27.1 KB |
| @sentry/browser - with treeshaking flags | 25.58 KB |
| @sentry/browser (incl. Tracing) | 45.54 KB |
| @sentry/browser (incl. Tracing + Span Streaming) | 47.28 KB |
| @sentry/browser (incl. Tracing, Profiling) | 50.17 KB |
| @sentry/browser (incl. Tracing, Replay) | 83.87 KB |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags |
…[full
notes](https://github.com/getsentry/sentry-javascript/releases/tag/10.73.0)
</details>
<details>
<summary><b>10.72.0</b></summary>
### Important Changes
- **AI integrations no longer report errors that propagate to the caller
([#23638](getsentry/sentry-javascript#23638),
[#23639](getsentry/sentry-javascript#23639),
[#23640](getsentry/sentry-javascript#23640
Across all AI integrations (OpenAI, Anthropic, Google GenAI, LangChain,
and LangGraph), the SDK no longer sends an event to Sentry for errors
that the AI framework propagates to your code. Previously the
instrumentation reported these as unhandled (`handled: false`) before
your own error handling ran, so an error your code caught still showed
up in Sentry as an unhandled crash. The span is still marked as errored
and the error still propagates, so reporting is left to your
application: if your code does not handle the error, it reaches Sentry's
global error handlers and is captured as unhandled, just like any other
uncaught error. Errors that a provider surfaces as data on an otherwise
successful response (such as Anthropic error-shaped responses or Google
GenAI blocked content) are still captured, since your code never sees
them propagate.
- **feat(v10/cloudflare): Add `rpcTracePropagationBindings`
([#23737](getsentry/sentry-javascript#23737),
[#23738](getsentry/sentry-javascript#23738
The new `rpcTracePropagationBindings` option names the `env` bindings
that outgoing RPC calls propagate trace context to. Strings match a
binding name exactly, regular expressions match by pattern, and the
default empty array propagates to nothing. RPC has no headers to carry
trace context, so the SDK appends it as a trailing argument that only a
Sentry-instrumented receiver removes again. List only the bindings whose
receiver you know runs Sentry. Setting the option takes precedence over
`enableRpcTracePropagation`, which is now deprecated. When you build
with the Sentry Cloudflare Vite plugin, the bindings that resolve to t
…[full
notes](https://github.com/getsentry/sentry-javascript/releases/tag/10.72.0)
</details>
</details>
---
*This PR was auto-generated by
[catalog-update-action](https://github.com/brandhaug/catalog-update-action).*
Sign up for freeto 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

@nicohrubec@andreiborza