# BugDump ## Changelog - [See the context your app sends with reports and errors](https://bugdump.com/changelog/context-tab-on-reports-and-errors): Reports and error events in BugDump now have a Context tab with your setContext() data, captureException() context and React component stacks. - [React and Next.js apps get @bugdump/react](https://bugdump.com/changelog/bugdump-react-package): The new @bugdump/react package adds BugDump to React and Next.js with one provider, a useBugdump() hook and an error boundary that reports what it catches. - [Catch JavaScript errors automatically, with readable stack traces](https://bugdump.com/changelog/automatic-javascript-error-capture-and-source-maps): BugDump captures uncaught JavaScript errors and unhandled rejections, groups them on an Errors page, and maps stack traces back to your source code. - [Hear about the tasks you're on: assignments, comments, status and property changes](https://bugdump.com/changelog/task-notifications): BugDump now notifies a task's creator, assignee, commenters and anyone in a member property when it changes, in the app and by email, on every plan. - [Monthly report limits, report retention, and email notifications on every plan](https://bugdump.com/changelog/monthly-report-limits-and-report-retention): BugDump report limits now reset monthly, reports are kept 30, 90 or 365 days by plan, and the widget tells visitors when a project is full. - [The widget speaks German and fits phones](https://bugdump.com/changelog/widget-speaks-german-and-fits-phones): The BugDump bug report widget now ships in German and opens as a bottom sheet on phones, with bigger tap targets and no zoom on iOS. - [Connect Claude, ChatGPT and VS Code to BugDump by signing in](https://bugdump.com/changelog/connect-claude-chatgpt-vs-code-by-signing-in): BugDump's MCP server now takes OAuth sign-in. Add it as a Claude custom connector, a ChatGPT app or a VS Code server; one connection covers every project. - [The widget now speaks five languages](https://bugdump.com/changelog/widget-speaks-five-languages): The BugDump bug report widget ships in English, Russian, Spanish, French and Portuguese and picks the right one from the page or browser language. - [Comment drafts, and a history for your custom properties](https://bugdump.com/changelog/comment-drafts-and-custom-property-history): BugDump keeps your unsent task comments, records custom property changes in the activity timeline, and names the changed property over MCP. - [Send reports from your own form](https://bugdump.com/changelog/send-reports-from-your-own-form): The BugDump SDK gains submit(): keep your own bug report dialog and still get console logs, network requests and session replay on every report. - [Find a task fast: board filters, bulk actions and ⌘K](https://bugdump.com/changelog/board-filters-bulk-actions-command-palette): Filter the BugDump board by assignee, bulk-assign and re-prioritise cards, jump anywhere with ⌘K, and get weekly status reports over MCP. - [Priorities are yours to name, and projects can add their own fields](https://bugdump.com/changelog/custom-properties-and-editable-priorities): BugDump priorities are no longer fixed: rename, recolour, add and delete them per project. Plus custom properties — your own fields on every task. - [Personal MCP tokens, write tools, and one page for the widget](https://bugdump.com/changelog/personal-mcp-tokens-write-tools-widget-page): BugDump MCP now uses personal tokens, adds move, comment, priority and assign tools, and is free on every plan. Widget setup moves to one page. - [The widget now follows your app's theme toggle](https://bugdump.com/changelog/widget-follows-your-app-theme): The BugDump widget gains setTheme(), so it switches with your app's light/dark toggle instead of waiting for a reload. The screenshot editor follows too. - [Tasks are numbered per project, and carry a key like BD-42](https://bugdump.com/changelog/per-project-task-numbering-and-project-keys): BugDump tasks now number from 1 in every project and carry a project key, so a bug reads as BD-42. Both BD-42 and 42 work in the URL. - [Files attached to a task now show up on it](https://bugdump.com/changelog/task-attachments-on-the-task-screen): BugDump tasks now list every file they own, with an Attach files button under the description and drag-and-drop anywhere on the task screen. - [Step through a column without leaving the board](https://bugdump.com/changelog/step-through-a-column-from-the-task-panel): BugDump's task panel now has Previous/Next controls and J/K shortcuts scoped to the column, a copy-link button, and a cleaner task header. - [The widget SDK is 76% smaller](https://bugdump.com/changelog/the-widget-sdk-is-76-smaller): The BugDump widget entry drops from 117 KB to 28 KB gzipped, loading screenshot and replay libraries on demand. Add async to your script tag. - [v1.0 — BugDump is live](https://bugdump.com/changelog/v1-0-bugdump-is-live): BugDump v1.0: embeddable bug-report widget with session replay, a triage board, 8 integrations, webhooks, and a Claude Code MCP server. ## Help Center - [Adding BugDump to a React or Next.js app](https://bugdump.com/help/getting-started/react-and-nextjs): Install @bugdump/react: one provider starts the BugDump widget, useBugdump() returns the SDK, and an error boundary reports what it catches. - [Readable stack traces: uploading source maps](https://bugdump.com/help/widget-and-sdk/uploading-source-maps): Stamp debug IDs into your build with @bugdump/cli and upload its source maps privately, so BugDump stack traces show your original files and lines. - [Working with captured errors](https://bugdump.com/help/triage-and-workflow/working-with-captured-errors): Read captured errors in BugDump: the Errors page, stack traces and stored events, turning an error into a task, regressions, ignoring and notifications. - [Capturing JavaScript errors automatically](https://bugdump.com/help/widget-and-sdk/capturing-javascript-errors-automatically): The BugDump widget sends uncaught errors and unhandled rejections from your site with console, network and clicks. Turn it off, sample it or filter it. - [Task notifications: who hears about a change](https://bugdump.com/help/triage-and-workflow/task-notifications): BugDump notifies a task's creator, assignee, commenters and anyone named in a member property when it changes. What notifies, the emails, and what doesn't. - [Connecting Claude, ChatGPT or VS Code to BugDump](https://bugdump.com/help/ai-and-claude-code/connect-claude-chatgpt-or-vs-code-to-bugdump): Add BugDump as a Claude custom connector, a ChatGPT app or a VS Code MCP server: paste one URL, sign in, choose Read only or Read and write. No token needed. - [Sending reports from your own form](https://bugdump.com/help/widget-and-sdk/sending-reports-from-your-own-form): Use your own bug report form and dialog with BugDump: call submit() from the SDK and still get console logs, network requests and session replay. - [Finding a task: search, filters and ⌘K](https://bugdump.com/help/triage-and-workflow/finding-a-task-search-filters-and-command-palette): Search the board and highlight the matches, filter by assignee, label, priority or browser, and jump straight to any task with the ⌘K command palette. - [Custom properties: adding your own fields to tasks](https://bugdump.com/help/triage-and-workflow/custom-properties): Create custom task fields in BugDump — text, number, date, checkbox, URL, select, multi-select or member — filter the board by them, and set them over MCP. - [Customizing priorities](https://bugdump.com/help/triage-and-workflow/customizing-priorities): Rename, recolour, add or delete BugDump priorities per project. What happens to existing tasks, the board filter, integrations, and the widget. - [Matching the widget to your app's theme](https://bugdump.com/help/widget-and-sdk/match-the-widget-to-your-app-theme): Make the BugDump widget follow your app's theme toggle, not just the OS: set a starting theme with data-theme, then call setTheme() when users switch. - [Task IDs and project keys](https://bugdump.com/help/triage-and-workflow/task-ids-and-project-keys): How BugDump task IDs work: per-project numbering from 1, the project key prefix like BD-42, which URLs open a task, and renaming a key safely. - [Attaching files to a task](https://bugdump.com/help/triage-and-workflow/attaching-files-to-a-task): Attach files to a BugDump task with the Attach files button or drag and drop, remove them, and understand description files, limits, and storage. - [Choosing an installation method](https://bugdump.com/help/installation-methods/choosing-an-installation-method): Compare the four ways to install BugDump: script tag auto-init, manual init, npm, and headless programmatic control. Pick the right one for your stack. - [Contacting support](https://bugdump.com/help/account-team-and-billing/contacting-support): Reach BugDump support at admin@bugdump.com — what to include in your message and where to find answers faster. - [MCP recipes: prompts that work](https://bugdump.com/help/ai-and-claude-code/mcp-recipes-prompts-that-work): Practical Claude Code prompts for BugDump's MCP server: fixing bugs from a task ID, deduplication, environment correlation, and triage. - [Translating and rebranding the widget](https://bugdump.com/help/widget-and-sdk/translating-and-rebranding-the-widget): The BugDump widget speaks six languages and detects the right one. Set locale or data-locale, override any string, add your own language, remove branding. - [A triage workflow that scales](https://bugdump.com/help/triage-and-workflow/a-triage-workflow-that-scales): A practical daily triage routine for BugDump: grouping duplicates, setting up board columns, assigning priority, and closing the loop. - [Troubleshooting: common problems and fixes](https://bugdump.com/help/account-team-and-billing/troubleshooting): Fix common BugDump issues: missing widget, failed submissions, blank screenshots, silent integrations, and MCP connection problems. - [Installing in React, Vue, and other frameworks](https://bugdump.com/help/getting-started/installing-in-frameworks): Install the BugDump SDK in React, Next.js, Vue, Svelte, and Angular, with SSR guidance and correct teardown. - [Setting up the public portal](https://bugdump.com/help/triage-and-workflow/setting-up-the-public-portal): Enable BugDump's public portal so reporters can track their bugs, and configure how much report detail is visible. - [Plans, limits, and usage](https://bugdump.com/help/account-team-and-billing/plans-limits-and-usage): Compare BugDump Free, Pro and Ultra: monthly report and error limits, report retention, storage, projects, members, integrations and features. - [Managing API keys safely](https://bugdump.com/help/integrations-and-api/managing-api-keys-safely): BugDump widget keys, personal MCP tokens and release tokens: which is safe in frontend code, restricting allowed origins, revoking, and handling a leak. - [Team members, roles, and permissions](https://bugdump.com/help/account-team-and-billing/team-members-roles-and-permissions): BugDump project roles explained: OWNER, ADMIN, and MEMBER permissions, invitations, member limits, and report and task notifications. - [How BugDump is organized: projects, reports, and tasks](https://bugdump.com/help/getting-started/how-bugdump-is-organized): Understand BugDump's core concepts: projects, reports, tasks, and the board, and how they relate to each other. - [Filtering console and network capture](https://bugdump.com/help/widget-and-sdk/filtering-console-and-network-capture): Use BugDump's consoleFilter and networkFilter options to exclude URLs, levels, and sensitive data before it leaves the browser. - [SDK API reference: methods and user context](https://bugdump.com/help/widget-and-sdk/sdk-api-reference): Reference for the BugDump SDK's API: identify, reset, setContext, setTheme, open, close, submit, captureException, collectTelemetry, and destroy. - [Using BugDump with Claude Code (MCP)](https://bugdump.com/help/ai-and-claude-code/using-bugdump-with-claude-code-mcp): Set up BugDump's MCP server with a personal token: connect Claude Code or Cursor, read tasks and full telemetry, and let the agent move and comment on tasks. - [Sending reports to your own systems with webhooks](https://bugdump.com/help/integrations-and-api/webhooks): Set up BugDump webhooks for the report.created event, verify signatures, and handle retries reliably. - [Connecting integrations](https://bugdump.com/help/integrations-and-api/connecting-integrations): Connect BugDump to Telegram, Slack, Discord, GitHub Actions, GitHub Issues, Jira, Asana, and Freshdesk. - [Working with tasks and the board](https://bugdump.com/help/triage-and-workflow/working-with-tasks-and-the-board): Turn BugDump reports into tasks, organize them on a kanban board, and share progress through the public portal. - [Reading a bug report](https://bugdump.com/help/triage-and-workflow/reading-a-bug-report): Understand every section of a BugDump report — console, network, session replay, actions, and metadata — and how to debug with them. - [Feature toggles and handling sensitive data](https://bugdump.com/help/widget-and-sdk/feature-toggles-and-sensitive-data): Control what the BugDump widget captures: screenshots, recording, session replay, attachments, and network bodies — plus privacy guidance. - [Widget configuration reference](https://bugdump.com/help/widget-and-sdk/widget-configuration-reference): Complete reference for BugDump widget options: theme, position, locale, icon, endpoint, bubbleText, hideButton, showReportLink, and more. - [Quickstart: install the BugDump widget](https://bugdump.com/help/getting-started/quickstart-install-the-widget): Install the BugDump bug reporting widget with a single script tag or via npm, and receive your first report. ## Blog - [JavaScript Error Tracking for Small Web Apps: What You Actually Need](https://bugdump.com/blog/javascript-error-tracking-for-small-web-apps): A small web app needs four things from error tracking: catch every crash, group repeats, read stacks in your own code, and keep the minute before it. - [Bug Tracker Notifications: Who Should Hear About a Change?](https://bugdump.com/blog/bug-tracker-notifications-who-should-hear-about-a-change): Who to notify when a bug changes: work recipients out from the task, never tell people what they just did, and collapse a burst of edits without a digest. - [MCP Server OAuth: Letting Claude and ChatGPT Connect Without a Token](https://bugdump.com/blog/mcp-server-oauth-claude-chatgpt-sign-in): How we added OAuth to an MCP server for Claude custom connectors and ChatGPT: the 401 discovery flow, Client ID Metadata Documents and per-request checks. - [Localizing an Embedded Widget: Page Language or Browser Language?](https://bugdump.com/blog/localizing-embedded-widgets-page-vs-browser-language): html lang or navigator.languages? How to pick a language for an embedded widget, why the page should win, and what breaks when you translate a small UI. - [Why Your AI Agent Makes 40 Calls to Answer One Question](https://bugdump.com/blog/mcp-tool-design-n-plus-1-agent-queries): Why AI agents make dozens of MCP calls for one answer, how the N+1 problem shows up in tool design, and three rules that cut a weekly report to three calls. - [The Machine Name That Was Also the Display Name](https://bugdump.com/blog/stable-keys-vs-display-names-editable-enums): What breaks when you let users rename an enum: identity vs display, silently defaulting switch statements, and the migration that has to be case-insensitive. - [Custom Fields in a Bug Tracker: What to Add, and What to Resist](https://bugdump.com/blog/custom-fields-bug-tracker): Which custom fields are worth adding to a bug tracker, which quietly go stale, and the one test that tells them apart before you create the field. - [Bug Priority Levels: Why Four Fixed Choices Never Fit](https://bugdump.com/blog/bug-priority-levels-custom-severity-scales): How many bug priority levels you need, severity vs priority, why low/medium/high/critical fails real teams, and how to design a scale people apply consistently. - [MCP Server Authentication: Why AI Agents Need Personal Tokens](https://bugdump.com/blog/mcp-server-authentication-personal-tokens): Shared MCP keys give every AI agent someone else's powers. How personal MCP tokens, read-only defaults, and attributed writes make agent access safe. - [Dark Mode for Embedded Widgets: Following Your App's Theme Toggle](https://bugdump.com/blog/dark-mode-for-embedded-widgets): Third-party widgets often ignore your dark mode toggle. Why prefers-color-scheme isn't enough, and the two-part theme API that keeps widgets in sync. - [Bug Tracking Metrics That Actually Matter](https://bugdump.com/blog/bug-tracking-metrics-that-matter): Four bug tracking metrics worth watching — backlog trend, fixed vs. opened, median time to fix, oldest open bug — and why averages and totals mislead. - [Why Bug IDs Should Start at 1 in Every Project](https://bugdump.com/blog/per-project-bug-ids-and-project-keys): Global bug ID counters leak information and read badly. Why per-project numbering and issue keys like BD-42 work better, and how to design them well. - [How to Triage Bugs Faster: A Keyboard-First Workflow](https://bugdump.com/blog/how-to-triage-bugs-faster): A practical bug triage workflow: batch duplicates, work one column at a time, and step through tasks with the keyboard instead of clicking back and forth. - [Bug Report Attachments: Keeping Evidence With the Bug It Belongs To](https://bugdump.com/blog/bug-report-attachments): Screenshots in Slack, logs on a drive, specs in email. Why bug report attachments scatter across tools, what it costs, and how to keep files on the bug. - [What Is BugDump? Bug Reporting for Websites in One Script Tag](https://bugdump.com/blog/what-is-bugdump): BugDump adds a bug report button to your site with one script tag. Every report ships console logs, network requests, replay, and environment data. - [Session Replay for Debugging: See What Users Did Before the Bug](https://bugdump.com/blog/session-replay-for-debugging): How session replay works, what it captures, and why pairing it with console and network logs turns vague bug reports into diagnosable ones. - [Lightweight Bug Tracking for Small Teams: When Jira Is Too Much](https://bugdump.com/blog/lightweight-bug-tracker-for-small-teams): Why heavyweight issue trackers fail small teams, what a lightweight bug tracking setup needs, and how to choose one that users will actually feed. - [How to Write a Good Bug Report (With a Checklist)](https://bugdump.com/blog/how-to-write-a-good-bug-report): What separates a bug report that gets fixed from one that gets closed as 'cannot reproduce' — structure, context, and a practical checklist. - [Debug User Bug Reports With Claude Code: BugDump's MCP Server](https://bugdump.com/blog/debug-user-bug-reports-with-claude-code-mcp): Connect BugDump's MCP server to Claude Code or Cursor and let your AI assistant read a bug's console, network, and replay context to debug it. - [How to Collect Bug Reports From Beta Testers Without Losing Half of Them](https://bugdump.com/blog/collect-bug-reports-from-beta-testers): A practical setup for beta testing feedback: lower the reporting friction, capture context automatically, and close the loop with testers. - [Collecting Website Bug Reports From Clients: A Setup for Agencies](https://bugdump.com/blog/client-website-feedback-for-agencies): How agencies replace bug-report email threads with a widget on every client site — structured reports, per-project boards, and clean handoffs. - [How to Add a Bug Report Button to Your Website](https://bugdump.com/blog/add-bug-report-button-to-website): Three ways to add a bug report button to any website — script tag, npm package, or programmatic init — with configuration tips and pitfalls. - [See the Console Errors Your Users See — No DevTools Required](https://bugdump.com/blog/see-console-errors-your-users-see): Stop asking users for console screenshots. Get the errors and failed requests behind every user-reported bug automatically, with one script tag. - [What to Do With a Bug Report You Can't Reproduce](https://bugdump.com/blog/cannot-reproduce-bug-what-to-do): A triage playbook for unreproducible bug reports: work the evidence, ask one precise question, park instead of close, and instrument for the next one. - [Three quarters of our SDK was code almost nobody ran](https://bugdump.com/blog/three-quarters-of-our-sdk-was-code-almost-nobody-ran): How we cut the BugDump widget from 117 KB to 28 KB gzipped: measuring the bundle, splitting an IIFE build, and why defer doesn't help DOMContentLoaded. - [Bug reporting for QA and UAT: making non-technical testers effective](https://bugdump.com/blog/bug-reporting-for-qa-and-uat): How to set up bug reporting for QA and UAT so non-technical testers file reports developers can act on without follow-up questions. - [What we learned building an MCP server for a developer tool](https://bugdump.com/blog/building-an-mcp-server-for-a-developer-tool): What MCP is, and seven design decisions that separate a server an agent uses well from one it flails against. - [Works on my machine: a field guide to unreproducible bugs](https://bugdump.com/blog/works-on-my-machine-unreproducible-bugs): Eight reasons a bug reproduces for your user but not for you — state, timing, environment, identity, data, extensions, network, time — and how to spot each. - [The bug report template that actually works (and how to automate it away)](https://bugdump.com/blog/bug-report-template): A copy-paste bug report template, the reasoning behind each field, and why every field a machine can fill in should be removed from the form entirely. - [How to capture console logs and network requests from a user's browser](https://bugdump.com/blog/capture-console-logs-and-network-requests): A practical guide to instrumenting console, errors, fetch, and XHR in a user's browser — ring buffers, recursion traps, redaction, and what to skip. - [From 40 reports to 6 bugs: how triage should work](https://bugdump.com/blog/from-40-reports-to-6-bugs): Why BugDump separates reports from tasks, how the kanban board maps to open and closed states, and why duplicates are useful. - [Session replay without the surveillance](https://bugdump.com/blog/session-replay-without-the-surveillance): How BugDump handles session replay and privacy: report-scoped recording, in-browser blur redaction, and network bodies off by default. - [Your AI agent should read your bug reports](https://bugdump.com/blog/your-ai-agent-should-read-your-bug-reports): How BugDump's MCP server lets Claude Code read tasks, reports, and full telemetry — and fix bugs from a task ID alone. - [Anatomy of a bug report: what we capture and why](https://bugdump.com/blog/anatomy-of-a-bug-report): Every signal BugDump captures — console, network, replay, actions, metadata — and the reasoning behind each one. - [Why we built BugDump: "it doesn't work" is not a bug report](https://bugdump.com/blog/why-we-built-bugdump): The gap between what users report and what developers need — and how BugDump closes it by capturing everything automatically.