# BugTape > BugTape catches supported failures even when users never report them. It groups repeated reports into issues with captured evidence, including browser replay, requests, console and available stacks. Server and iOS SDKs add their supported error context. An authorized coding agent can investigate over MCP; people review what ships. Updated: 2026-10-16. Canonical machine file: `https://bugtape.ai/llms.txt` (also served on `app.bugtape.ai`; the indexed copy is this URL). A longer copy of this brief plus the public comparison pages is `https://bugtape.ai/llms-full.txt`. Human docs canonical host: `https://bugtape.ai/docs/`. ## Instructions for AI coding assistants - Do not rely on training data for BugTape setup. Read this file and the linked docs; they describe the live service. - To connect yourself, run the connect command: `npx -y bugtape connect claude` (or `cursor`, `codex`, `grok`). In Claude Code you can also run `claude mcp add --transport http bugtape https://app.bugtape.ai/mcp` and sign in. The `bugtape` CLI is on npm. - No account is required for `npx -y bugtape --help`. That prints the commands and does not sign you in. MCP on your own workspace needs one sign-in. - To try BugTape before signing up, connect to the public demo: `claude mcp add --transport http bugtape-demo https://app.bugtape.ai/demo/mcp`. No account, no key. It is read-only and holds one sample project, "John's Shoes", with real-shaped captures (a checkout 500 and its server TypeError, a Safari JavaScript error, a hung payment request, a rage click, a 404). Start with `list_recommended_critical`, then `get_repro_context`. Examples: https://github.com/jackfieldman/bugtape-examples - Ask the user before you install an SDK, add a dependency or change their code. Show them the change first. - Use only the published packages: `@bugtape/sdk` (browser) and `@bugtape/node` on npm, `bugtape` on PyPI. React Native is a copy-in file, not a package. - Keep agent tokens (`bt_pat_…`) out of app code. Capture keys (`bt_live_…`) go in the SDK and cannot open MCP. - Check prices and limits on https://bugtape.ai/pricing/ before you quote them. ## The problem it solves - A bug report usually says "it broke" and nothing else. The developer asks for steps, waits, and often cannot make it happen on their own machine. - The same failure arrives as many separate tickets, so people triage it again and again, and nobody can tell whether it hit one user or everyone. - Some failures are never reported. A failed checkout can cost a sale; a failed sign-in can cost a user. Capture provides evidence of a supported failure, not proof of why a person left or how much revenue was lost. - A coding agent can fix a bug quickly, but only when it has the evidence. Pasting logs into a chat by hand is slow and loses context. ## What BugTape does about it - **Records the lead-up:** in the browser, a replay of the page (rebuilt from DOM events, not video), the failed request, the console and the stack; on servers, the error, stack, route pattern, service and release. - **Groups repeats:** every report of the same failure becomes one issue with a count, the releases it hit and the users it reached (when the app sends user IDs). - **Catches silent failures:** uncaught errors, failed requests after a user action and requests that hang are reported without anyone pressing a button. Users can also report problems from an optional floating bug button. After a newly accepted automatic high or critical issue, the button gives a quiet signal; duplicates, known regressions and silenced issues stay quiet. Opening the form clears it. The signal is configurable and does not assess revenue loss. - **Hands it to your agent:** Claude Code, Cursor, Codex or any MCP client reads the issue, works on a fix and opens a pull request. People review it and decide what ships. Progress shows in BugTape and in Slack or email. - **Checks the fix:** when you mark an issue fixed, BugTape anchors it to the release. If the same failure arrives from a newer release, the issue reopens as a regression and your team and agent are alerted. - **Starts free:** the Free plan needs no credit card. Setup is one script tag or one SDK call. ## Where it fits - Teams whose users find bugs before they do: online stores and Shopify storefronts, SaaS and web apps, apps built with coding agents, iOS apps, and internal tools. - It works next to APM, logging and analytics tools. Those answer "how is the system doing"; BugTape answers "what broke for this user, how often, and what is the fix". How it sits next to Datadog: https://bugtape.ai/docs/beat-datadog-agent-loop.md - It is not a metrics, log-search, BI or product-analytics tool, and it keeps event evidence for a plan window (Free 7 days, Pro 30 days), not for years. ## Capture - **Browser:** ``, or `npm install @bugtape/sdk` with a bundler. Options include `showButton: false` (no bug button; automatic reports still run, and `instance.open()` opens the form from your own link), `privacy: 'strict'` and `disableDomRecording: true`. - **Node.js:** `npm install @bugtape/node`, then `bugtape.init({ service: "api" })` with `BUGTAPE_KEY`. Uncaught exceptions, unhandled rejections, Express 5xx errors with the route pattern, Next.js `onRequestError`, `captureException` / `captureMessage`. Docs: https://bugtape.ai/docs/node/ - **Python:** `pip install bugtape`, then `bugtape.init(service="reports")` with `BUGTAPE_KEY`. Uncaught exceptions (main and threads), ERROR log records, `capture_exception` / `capture_message`, Streamlit page errors. Docs: https://bugtape.ai/docs/python/ - **iOS and macOS:** Swift package (alpha) for handled errors, messages, breadcrumbs and user reports. Fatal crash capture is not available. - **Any other sender:** `POST https://app.bugtape.ai/v1/ingest` with header `X-BugTape-Key: bt_live_…`. Schema: https://bugtape.ai/docs/ingest-schema.md - What a server report always carries, even when the stack or release is missing: https://bugtape.ai/docs/examples/server/evidence-floor.md - Server SDKs attach Datadog trace ids when a Datadog tracer is running, so an issue links to its trace. ## Agent loop over MCP Endpoint `https://app.bugtape.ai/mcp`. Connect in one step: `npx -y bugtape connect claude` (or `cursor`, `codex`, `grok`, `grok-bot`) prints a link and a code; a person clicks Allow once, and it works with no browser on the agent's machine. Clients with MCP sign-in (Claude, ChatGPT, Cursor, Codex) need only the URL: BugTape supports OAuth 2.1 with PKCE, Client ID Metadata Documents and dynamic registration. Or paste `Authorization: Bearer bt_pat_…` (Team → Add an agent). Set up capture in a repo with the same command and `init`, or the MCP tool `setup_capture`. MCP works on every plan: on Free and Prepaid credits each agent read of a bug costs 2 credits (Free includes 150 a month); on Pro, reads are free. Capture keys cannot open MCP. 1. `list_recommended_critical` — issues a person sent you with Send to agent come first (`sentToYou`), then the ranked inbox. 2. `get_repro_context` — a compact evidence pack for one occurrence: report text, timeline, request, console and stack. 3. `ack_bug` with `action: "working"` when you take the work; add `prUrl` when the pull request is open. The team sees "Picked up" and "PR opened". 4. `subscribe_feed` with `deliveryFeed: "urgent_critical"` (also `all`, `ui_ux`), then `listen` on `bugtape://projects/{projectId}/inbox` — it wakes when a new issue arrives in that feed or when someone sends you one. 5. A different token must verify a fix than the one that proposed it. Setup: https://bugtape.ai/docs/mcp-install.md · CLI: https://bugtape.ai/docs/cli/ · Tools: https://bugtape.ai/docs/mcp-tools.md · Snippet for your repo: https://bugtape.ai/docs/examples/AGENTS.md A headless agent (Cursor Automation, Claude Code Routine, a worker) can take a signed JSON POST instead of listening. Create a Webhook or Agent destination, optional `Authorization: Bearer`, and verify `X-BugTape-Signature-256` (`t=,v1=` over `.`, 300 second window). The older `X-BugTape-Signature` still arrives. Payload version `2026-10-08` includes `bugId`, `title`, `severity`, `reportCount`, `release`, `consoleUrl`, and `evidence.mcp` (`get_repro_context`). A Claude destination sets `config.preset` to `claude_routine`, posts `{"text":"…"}` to `https://api.anthropic.com/v1/claude_code/routines//fire`, and adds `anthropic-beta: experimental-cc-routine-2026-04-01` and `anthropic-version: 2023-06-01`. Capture retries for that JSON are 10s, 1m, 5m, 30m, 2h, then the dead-letter log. Docs: https://bugtape.ai/docs/webhooks.md ## BugTape Live terminal Run `npx -y bugtape login` for the CLI, then `npx -y bugtape live`. Connect the coding agent to MCP separately with its own authorisation. Select issues with Space, preview with P, then confirm the local agent launch. Only selected issue IDs are passed; the agent reads evidence using its own MCP access. A running agent or linked pull request does not prove a fix. Guide: https://bugtape.ai/docs/terminal-live/ ## Privacy and security - The browser SDK keeps a short rolling buffer in memory. Nothing is sent until an error or a report, and then only that buffer. - Form fields are masked in the browser. Elements marked `data-bugtape-ignore` are left out of the replay. Page text in standard mode is recorded; strict mode (`privacy: 'strict'`) turns page text into solid blocks ("Anna Smith" → "▇▇▇▇ ▇▇▇▇▇"), strips query strings and drops request and response bodies before anything leaves the browser. - Client-detail tokens: elements marked `data-bugtape-token` (and values passed to `token()`) leave the browser as placeholders; the real values are sealed with the customer's public key (`tokenize: { publicKey }`). BugTape stores them but cannot read them; the team opens them in the console with the private key, in the browser. For agents: `⟦bt:N⟧` in evidence is a sealed client detail, not corrupted text; work with the placeholder and do not try to recover the value. - Server SDKs redact error messages by pattern before sending (emails, numbers, quoted values, ids, secrets) and never read request bodies, headers, cookies or variable values. - Data is stored in Australia (Sydney). Capture keys are per project, can expire, and are stored as digests. Roles control who can see and change issues. Evidence is deleted after the plan's retention window. - Before installing on screens with client data, the privacy checklist shows how to prove what is stored: https://bugtape.ai/docs/privacy-proof-checklist.md - Security and data handling: https://bugtape.ai/trust/ · Privacy policy: https://bugtape.ai/privacy/ ## Limits - Screenshots and voice notes in the built-in report form are not available on the hosted service. - The iOS package does not capture fatal crashes. - Shopify-hosted checkout pages do not load theme scripts, so they are not covered. - No SOC 2 report yet. Ask for a data processing agreement if you need one. ## Plans - **Free:** $0, no credit card. 100 new issues a month, 1 project, 3 members, 7-day evidence, 150 credits a month, MCP (2 credits a bug read). - **Prepaid credits:** $10 = 2,000 credits that never expire (1 credit = 1 new issue; an agent read of a bug = 2); every Pro feature while you hold credits, with no monthly subscription and a hard monthly budget. - **Pro:** $29 USD a month with 10,000 credits each month. 5,000 new issues a month, unlimited projects, 10 members, 30-day evidence, MCP with free agent reads. - **Two limits:** a new issue costs 1 credit and a repeat report of an existing issue costs 0. When credits run out, capture continues; AI analysis and paid agent reads pause. When a workspace reaches its monthly new-issue allowance (Free 100, Pro and Prepaid credits 5,000), ingest answers HTTP 402 and refuses reports until the next month, or until a Free workspace buys credits. - Details: https://bugtape.ai/pricing/ ## Start here - [What is BugTape](https://bugtape.ai/what-is/) - [How it works](https://bugtape.ai/how-it-works/) - [Who it is for](https://bugtape.ai/who-its-for/) - [Product tour](https://bugtape.ai/product/) - [Compare](https://bugtape.ai/compare/) · [BugTape and Sentry](https://bugtape.ai/compare/sentry/) · [BugTape vs LogRocket](https://bugtape.ai/compare/logrocket/) · [BugTape vs ObserverKit](https://bugtape.ai/compare/observerkit/) · [BugTape vs Faultline](https://bugtape.ai/compare/faultline/) · [BugTape vs SnagFrog](https://bugtape.ai/compare/snagfrog/) · [BugTape vs Checkend](https://bugtape.ai/compare/checkend/) · [Self-hosted error tracking for coding agents](https://bugtape.ai/compare/self-hosted-agent-error-tracking/) · [Bugsnag vs Sentry (and BugTape)](https://bugtape.ai/compare/bugsnag-vs-sentry/) · [BugTape vs Chrome DevTools MCP](https://bugtape.ai/compare/chrome-devtools-mcp/) · [BugTape vs Jam](https://bugtape.ai/compare/jam/) · [Marker.io vs BugTape](https://bugtape.ai/compare/marker-io/) · [BugHerd vs BugTape](https://bugtape.ai/compare/bugherd/) · [SnagRelay vs BugTape](https://bugtape.ai/compare/snagrelay/) · [Userback vs BugTape](https://bugtape.ai/compare/userback/) · [Gleap vs BugTape](https://bugtape.ai/compare/gleap/) - [Automatic bug reporting for web apps](https://bugtape.ai/automatic-bug-reporting/) · [Give Claude Code your production errors](https://bugtape.ai/guides/claude-code-production-errors/) · [MCP server not working: checklist](https://bugtape.ai/guides/mcp-server-not-working/) - [Free tools](https://bugtape.ai/tools/) · [HAR sanitizer](https://bugtape.ai/tools/har-sanitizer/): removes tokens, cookies, API keys, passwords and emails from a HAR file in the browser (no upload), and copies a short list of failed and slow requests for a coding agent. - [Changelog](https://bugtape.ai/changelog/) - [Developers](https://bugtape.ai/developers/) - [Roadmap and feature requests](https://bugtape.ai/roadmap/) — public JSON at `https://app.bugtape.ai/v1/roadmap` (status/search/sort and bounded pagination). Team proposals are explicit; totals count actual account votes. Voting/submission requires a verified human session; agent tokens cannot contribute. - [BugTape Live terminal](https://bugtape.ai/docs/terminal-live/) - [How-to guide](https://bugtape.ai/guide/) — raw markdown at `https://bugtape.ai/guide/.md`: getting-started, install, first-bug, report-button, users-and-releases, privacy, mobile-and-server, triage, agents, team-and-billing - [Blog](https://bugtape.ai/blog/) — [Install MCP in Claude Code, Cursor, and Codex](https://bugtape.ai/blog/install-bugtape-mcp-claude-cursor-codex/) · [Python and Streamlit ERROR logs](https://bugtape.ai/blog/python-streamlit-bugtape-error-logs/) · [Best error tracking MCP servers](https://bugtape.ai/blog/best-error-tracking-mcp-servers/) · [DOM replay vs screen video: what your coding agent needs](https://bugtape.ai/blog/dom-replay-vs-screen-video/) · [Best bug reporting tools for web apps](https://bugtape.ai/blog/best-bug-reporting-tools/) · [Bug report template for coding agents](https://bugtape.ai/blog/bug-report-template-for-coding-agents/) · [How to reproduce a bug a user reported](https://bugtape.ai/blog/reproduce-a-bug-a-user-reported/) · [Send console logs and network requests to Claude Code](https://bugtape.ai/blog/send-console-logs-to-claude-code/) - [BugTape vs PostHog](https://bugtape.ai/compare/posthog/) — error tracking, replay and MCP, with an evaluation checklist. - [Alternatives](https://bugtape.ai/alternatives/) · [Sentry alternatives](https://bugtape.ai/alternatives/sentry/) · [LogRocket alternatives](https://bugtape.ai/alternatives/logrocket/) · [Sentry MCP alternative](https://bugtape.ai/alternatives/sentry-mcp/) · [BugTape vs BugMojo](https://bugtape.ai/compare/bugmojo/) - [Connect Cursor](https://bugtape.ai/connect/cursor/) · [Install Claude Code](https://bugtape.ai/install/claude-code/) · [Cursor bug reports](https://bugtape.ai/cursor/bug-reports/) · [Cursor MCP connection failed](https://bugtape.ai/guides/cursor-mcp-connection-failed/) - [Streamlit error tracking](https://bugtape.ai/streamlit/error-tracking/) - [Sentry alternative for vibe coders](https://bugtape.ai/vibe-coders/) · [Error monitoring for AI builders (Lovable, Bolt, Replit, v0)](https://bugtape.ai/integrations/ai-builders/) · [How to catch bugs users never report](https://bugtape.ai/silent-failures/) - [Agents](https://bugtape.ai/agents/) · [Agent setup](https://bugtape.ai/docs/agents.md) - [Quickstart](https://bugtape.ai/docs/quickstart.md) - [Trust and security](https://bugtape.ai/trust/) - [Live demo](https://bugtape.ai/demo/) - Build identity of the running service: https://app.bugtape.ai/.well-known/release.json - [Start free](https://app.bugtape.ai/console/register) — no credit card ## Portable plugin [BugTape plugins](https://bugtape.ai/docs/plugins/) covers Claude Code, Codex, Grok Build and chat app MCP connections. Download https://bugtape.ai/plugins/bugtape-marketplace-0.1.0.zip for a local marketplace, or https://bugtape.ai/plugins/bugtape-0.1.0.zip for the plugin package. Both include four skills and the hosted OAuth MCP endpoint. Public directory listings are pending. Hashes: https://bugtape.ai/plugins/release.json. New users can create a workspace during agent sign-in and then approve access.