A Highlight.io alternative for your backend errors

If you used Highlight.io to catch exceptions in a Node.js or Python backend, Runheed is a place to send them next. It is error tracking only, built around one loop: Claude Code, Cursor or any MCP client reads the error, fixes the code and marks it resolved with the commit.

What happened to Highlight.io

  • April 23, 2025: Highlight announced it was joining LaunchDarkly and that Highlight would become an observability product inside LaunchDarkly (“We’re joining LaunchDarkly!”).
  • November 13, 2025: Highlight said it would deprecate its services on February 28, 2026 and move all of its infrastructure to LaunchDarkly. It told users to create a LaunchDarkly account and update their Highlight SDK snippets to LaunchDarkly Observability before March 1, 2026 (“Migrating from Highlight.io to LaunchDarkly Observability”).
  • November 2, 2026, when we checked: highlight.io redirects to launchdarkly.com. The highlight/highlight repository on GitHub is not archived.

Sources checked 2026-11-02. The two posts are linked to their source files in the highlight/highlight repository because the highlight.io blog URLs now redirect to launchdarkly.com.

Who Runheed fits

  • Your errors come from a Node.js, TypeScript or Python backend (Express, FastAPI, Django or Flask), or from anything that can POST JSON.
  • A coding agent writes much of your code, and you want it to read production errors with the stack trace, breadcrumbs and the agent session that shipped the code.
  • You want a flat monthly price: Solo is $29/mo for 50,000 events with 30 days of history, and events over the limit are rejected, never billed.

Who it does not fit

Highlight did session replay, error monitoring, logging and tracing. Runheed does only the error part. If you relied on the rest, LaunchDarkly Observability is where Highlight moved those features, and it is the better pick for you.

  • You need session replay, logs, distributed traces or release health. Runheed has none of them.
  • Most of your errors come from browsers or mobile apps. The first-party SDKs are Node.js and Python. Other clients can post JSON to the ingest endpoint, without automatic capture.
  • You want a free plan. Every plan is paid. Solo is $29 a month and you can cancel from the billing portal any time.

Moving your error tracking over

Create a project, copy its DSN into RUNHEED_DSN, then replace the Highlight SDK init in your backend with the Runheed one. Full steps are in the setup docs.

Node.js and TypeScript

terminalbash
npm install https://runheed.com/dl/runheed-0.1.0.tgz

The npm and PyPI releases are not out yet, so these commands install the same package files straight from runheed.com. Nothing else changes when the registry versions ship.

instrument.tstypescript
import runheed, { expressErrorHandler } from 'runheed';

runheed.init({
  dsn: process.env.RUNHEED_DSN,
  environment: process.env.NODE_ENV,
  release: process.env.GIT_SHA,
});

// Express: add after your routes
app.use(expressErrorHandler());

Python

terminalbash
pip install https://runheed.com/dl/runheed-0.1.0-py3-none-any.whl
app.pypython
import os, runheed

runheed.init(dsn=os.environ["RUNHEED_DSN"])

try:
    process(order)
except Exception as e:
    runheed.capture_exception(e)
    raise

Your Highlight history stays behind: Runheed starts with the first error your app sends after the switch.

Then hand the errors to your agent

Connect Claude Code with one command and a sign-in. The MCP server has nine tools: the agent can search errors, read one with its stack trace and context, check trends and project health, and resolve or ignore an error once the fix ships.

terminalbash
claude mcp add --transport http runheed https://runheed.com/api/mcp

See the loop on a sample project in the demo, or read how Runheed stacks up against Sentry, Honeybadger and others on Compare.