This is the full path from “my app threw an error in production” to “there is a pull request waiting for me”, and then how to let Claude Code read the same logs while you review it.

You need three things before you start: a GitHub repo for the app, an Anthropic or OpenAI API key of your own, and somewhere the app runs. Auralogs does not supply the model. The fix is written with your key and billed by your provider.

1. Create a project

Sign in at auralogs.ai and create a project. The startup modal shows two keys, once each:

  • an ingest key starting with aura_, which the SDK uses to send logs
  • a read key starting with aura_read_, which you will use for Claude Code in step 7

Copy both somewhere safe.

2. Install the SDK

For JavaScript or TypeScript:

npm install auralogs-sdk

Then initialise it at your app’s entry point:

import { init, auralogs } from "auralogs-sdk";

init({
  apiKey: process.env.AURALOGS_API_KEY,
  environment: "production",
});

For Python:

pip install auralogs
from auralogs import init, auralogs

init(api_key="aura_your_api_key", environment="production")

From here on, uncaught exceptions and unhandled promise rejections are captured automatically. error and fatal logs are sent immediately. Everything else is batched.

A note on setup: a one-command installer, npx auralogs init, is rolling out. The manual steps above work today.

3. Add your AI key

Open the project’s Settings and find AI providers. Paste an Anthropic key (starts with sk-ant-) or an OpenAI key. The field saves when you click out of it. Keys are stored encrypted.

Under Model routing you can pick one model for analysing logs and another for writing fix PRs. The defaults are fine to start.

4. Connect GitHub

Still in Settings, under Repository, click Connect Repository and authorise the auralogs-autofix GitHub App for the one repo you want. Auralogs only sees repos you select, not your whole account.

5. Turn on Auto-Fix

Once a repo is connected, an Auto-Fix Mode setting appears with three options:

  • Disabled: no autofix activity
  • Analysis Only: you get the diagnosis, no PR
  • Auto-Fix: Auralogs opens a PR for actionable analyses

Choose Auto-Fix.

6. Trigger an error

You want a real bug with a real stack trace, in code that matches the default branch of the repo you connected. An error with a generic message and no stack gives the model nothing to work from, and Auralogs skips those.

This example is hypothetical. Put something like it on a route you can hit on purpose:

function formatDisplayName(user) {
  return user.profile.displayName.trim();
}

try {
  formatDisplayName({ id: "usr_123" });
} catch (err) {
  auralogs.error(
    "Failed to format display name",
    { userId: "usr_123" },
    err.stack,
  );
}

user.profile is undefined, so this throws. Deploy it, hit the route once, and open the project’s log viewer. The error should be there with its stack and metadata.

7. Review the PR

The error triggers an analysis, which shows up in the Analyses tab with a severity, a root cause and recommendations. If the analysis is highly confident in a fix, Auralogs opens a pull request on your repo with a title, a description of the error and the change, and the diff.

Three things to know:

  • It is never merged for you. Read the diff and run your CI, as you would for a teammate’s PR.
  • Not every error gets a PR. If the confidence is not high, you get the analysis and no PR. That is on purpose.
  • Repeats do not pile up. While a PR for an error is open, the same error will not open another one.

If nothing happens, check in order: is the AI key saved and accepted, is the repo still connected, is the mode set to Auto-Fix, and did the error carry a stack trace.

I am not going to promise how long this takes. It depends on the model and on your repo.

8. Connect Claude Code to your logs

The PR tells you what Auralogs thinks. Often you want to ask your own questions. Auralogs has a read-only MCP server for that. From inside your project directory, using the read key from step 1:

claude mcp add --transport http auralogs https://mcp.auralogs.ai/mcp \
  --header "Authorization: Bearer aura_read_YOUR_KEY"

Check it connected:

claude mcp list | grep auralogs

Restart Claude Code. It now has tools such as list_logs, search_logs and get_analysis, all scoped to that one project. The read key cannot write logs or change settings.

Now you can review the PR with production context next to it. Try:

  • “Show me the most recent high-severity analysis.”
  • “Pull the last 20 error logs and look for patterns.”
  • “Does the fix in this branch cover every case in those logs?”

The MCP server does not need GitHub or an AI key on the Auralogs side. You can use it on its own if all you want is for Claude Code to read production logs.

What you have now

Errors from production arrive with stacks and context. The ones with a clear fix come with a pull request for you to review. And Claude Code can read the same logs when you want a second opinion.

The free plan covers 500,000 logs a month, and fix PRs work on it with your own key.

Start free at auralogs.ai