bun: Channel injection is unavailable under `bun run`, and only a debug log says so

Open Beginner friendly
#23,882 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
84/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
bun, typescript

Research direction

Start in packages/server-utils/src/orchestrion/runtime/register.ts around line 126 and trace detectOrchestrionSetup, registerDiagnosticsChannelInjection, and the existing warnRuntimeUnavailable path. Make the Bun no-injection warning always-on through consoleSandbox, identify @sentry/bun/plugin as the fix, and preserve debug-only behavior on Node.

Written by the indexing model from the issue text.

Description

Bun javascript

registerDiagnosticsChannelInjection takes its fallback branch on Bun. Module.registerHooks is undefined in bun 1.3.14, and the Module.register branch is explicitly gated on !globalAny.Bun (packages/server-utils/src/orchestrion/runtime/register.ts:126).

$ bun run init-probe.mjs
ORCHESTRION MARKER: {"runtimeUnavailable":true}
INTEGRATIONS: 42 ... Graphql,Mongo,Mongoose,Mysql,Mysql2,Redis,Postgres,
Prisma,Tedious,GenericPool,Kafka,Amqplib,LruMemoizer,Aws,LangChain,LangGraph,
VercelAI,OpenAI,Anthropic_AI,Google_GenAI,PostgresJs,Firebase
Sentry Logger [warn]: [Sentry] No diagnostics-channel injection detected...

Twenty-two channel integrations report Integration installed and then never fire. The only signal is debug.warn inside detectOrchestrionSetup, which is off unless the user sets debug: true.

Note that these integrations also handle error capture, not only spans, so a Bun user running bun run loses Express/Fastify/Koa/Hapi error capture too.

Work item. Promote the "no injection detected" message to an always-on consoleSandbox warning on Bun (matching warnRuntimeUnavailable, which already exists for the failure path), and name the fix: build with @sentry/bun/plugin. Keep it debug-only on Node, where the runtime hook normally succeeds.

**Prior art **(tracked). Two open issues describe the symptom without naming the cause: #14202 (open since 2024-11) "Integrations not working for Bun", and #17779 (open). #19696 (closed) "None of the AI auto-instrumentations work with Sentry Bun" is the same report for the AI integrations. The build-time fix shipped in getsentry/sentry-javascript#21410 (merged, the Bun build plugin). There is precedent for the always-on warning proposed here: getsentry/sentry-javascript#22379 (merged) warns when a bundler config externalizes an instrumented module. No issue covers promoting this particular warning.

Dominant language
TypeScript
Stars
8.7k
Forks
1.9k
Avg merge
1d 17h
Merged PRs (30d)
521

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from getsentry/sentry-javascript

All issues in getsentry/sentry-javascript

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.