How it works
Install it, file it on the page, and work the ticket.
One script tag on a site you can edit. A visitor or a teammate reports the bug where it broke. The team gets the screenshot, the replay, and the logs in the queue.
- 01
Install the widget
Add one script tag to a site you can edit. The workspace API key sends every report to your dashboard.
- 02
Someone files it in place
A visitor or a teammate opens the widget on the broken page, marks what they see, and submits the form you configured.
- 03
The team works the ticket
The bug arrives with its screenshot, replay, and diagnostics. Filter it, assign it, comment, and close it.
01 · Install
Put the widget on a site you control.
The script tag is the install on a site you can edit. The API key on it is the workspace key. The Chrome extension uses that same key.
Try the demo<script
src="https://www.bugtrap.app/widget.js"
data-api-key="YOUR_WORKSPACE_API_KEY"
data-endpoint="https://www.bugtrap.app/api/reports"
></script>One script tag
Point widget.js at this app and pass the workspace API key from Settings → Install. That key is what ties the report to the dashboard.
Guest form, or member form
Leave data-audience off, or set it to guest, and a visitor gets the guest form. Set data-audience="member" on a build your teammates use. The audience on the tag is separate from a person’s role in the dashboard.
User acceptance testingRight side, or left
The button sits at the bottom-right. Add data-position="bottom-left" on the script tag to put it on the other corner.
A site you can edit
The widget is one script tag on a site you control. That is how a visitor files without an account. The signed-out demo lets you try the widget, and it does not save a report.
Or the Chrome extension
Install BugTrap from the Chrome Web Store and paste the same workspace API key. Click the toolbar icon, or press Option+Shift+B on Mac (Alt+Shift+B on Windows), to capture the visible tab and mark it. The extension does not record a session replay, the console, or the network.
Chrome extension
02 · File
The report is filed on that page.
The person who sees the bug marks it there. The evidence is attached when they submit.
See what a report includesPoint at the element, or skip it
The reporter can click the node that broke. The bug stores a selector, the HTML, the styles that differ from a plain tag, and the CSS rules that matched. Skipping that step still files the report.
Element captureCapture the page, then mark a second image
The screenshot is the viewport they were looking at. The report button is left out of the shot. Draw, arrow, box, or type on a second image. The original stays beside the markup. A picked element is already boxed.
Screenshots and markupFill the form for that audience
Visitors and teammates can see different fields. An admin chooses what is visible and what is required under Settings → Forms. Title, description, priority, type, name, and email follow that config.
Report formsThe rest is already attached
About 30 seconds of replay comes with the report. Text typed into inputs is masked. The last 200 console lines, the last 100 network requests, the page URL, the browser environment, and any metadata you set are on the bug too.
Console and network
03 · Queue
The ticket is ready to work.
Filter it, assign it, and keep the decision in the thread. The screenshot and the replay stay on the bug.
See the queueStatus, priority, and a person
Status moves through open, in progress, resolved, and closed. Priority is low, medium, high, or critical. Admins and members can change them, and can assign a teammate. Guests can open the queue and comment.
The queueFilter, then search
The list filters by status and priority. Search matches the title and the description. Each bug has a BUG- code. The code is a label. The link uses the id.
Public comments and internal notes
A comment can be marked internal. Guests do not get that checkbox, so a guest’s comment stays public. Mention a teammate with @ and BugTrap emails them a link to the bug.
A new bug can become an Asana task
Connect a project and each new bug becomes a task with the title, the description, and the screenshot. Map priority, type, status, the reporter, the page URL, and the BugTrap link onto fields that project already has. Later edits stay in BugTrap.
AsanaAn agent can read the queue
Connect Cursor, Claude, Codex, or another MCP client. The agent can list the queue and read a report. Closing, assigning, and commenting stay in the dashboard. The widget API key does not work here. Create a token under Settings → MCP.
MCP
BugTrap
The widget files the report. The dashboard works it.
$5 a month for the workspace. Screenshot, markup, element capture, replay, guest forms, Asana, and MCP are included.
See the plan