Customers file bugs from their AI assistant into a live copy of your app. Triage replays each report on a clean machine and sends you the ones that break again.
Hi Product Hunt 👋
I built Triage because I wanted to help open source maintainers get their issue inbox to zero. I started with the most painful part: reproducing bugs.
Reporting a bug should take seconds. So Triage runs an MCP server, and users report bugs straight from the AI assistant they already use (Claude Code, Codex, Cursor, OpenCode). Triage takes the description and rebuilds the bug in a clean sandbox with no network, pinned to the exact version. Then it replays it several times. If it can’t reproduce the bug, it asks the reporter one narrow question, and they answer only if they want to.
When a bug reproduces, maintainers get a report page that reads like a README: what happened, the exact command and output, the replay results, and a minimal repro they can download and run offline. Triage replays open reports against every new release and tells you when one stops reproducing. It never posts issues, comments or PRs on your behalf; maintainers decide what gets published.
One honest limit today: library bugs are reproduced headless, in Node with a simulated DOM. Bugs that only show up in a real browser may not reproduce yet.
I’d love to hear from maintainers: what’s the bug report you wish had arrived already reproduced? And if you try it on your project, tell me where it falls over. I’ll be here all day.
Report
does the sandbox match the reporter's node version too
@bbueno Hi, good catch. I overlooked node version in the reporter prompt for the mcp server but thats a simple fix.
Right now we collect the bug description, expected vs actual behavior, actions taken, and relevant redacted errors. We also have optional fields for runtime, OS, architecture, and app/package version, but we don’t explicitly ask agents to capture the exact runtime version or automatically match it in the sandbox yet. That’s the gap we need to close.
@ben_johnson24 Lmfao it was supposed to be a play on codeberg, since they were against hosting ai projects. Also, couldnt resist the dotcom domain lmfaooo
@bengeekly data is self reported by ur agent. Ur agent describes a bug, produces a spec for minimal reproduction (dependencies, operating system, stacktraces) and we attempt to reproduce it on our end. We dont request personal data or secrets
Replies
does the sandbox match the reporter's node version too
@bbueno Hi, good catch. I overlooked node version in the reporter prompt for the mcp server but thats a simple fix.
Right now we collect the bug description, expected vs actual behavior, actions taken, and relevant redacted errors. We also have optional fields for runtime, OS, architecture, and app/package version, but we don’t explicitly ask agents to capture the exact runtime version or automatically match it in the sandbox yet. That’s the gap we need to close.
@pabbyprism ah ok makes sense, thanks Pablo
@ben_johnson24 Lmfao it was supposed to be a play on codeberg, since they were against hosting ai projects. Also, couldnt resist the dotcom domain lmfaooo
Many of the bugs are data specific, does it copy the data from the user ?
@bengeekly data is self reported by ur agent. Ur agent describes a bug, produces a spec for minimal reproduction (dependencies, operating system, stacktraces) and we attempt to reproduce it on our end. We dont request personal data or secrets