FOR TEAMS SHIPPING CLIS, TUIS AND LINUX APPS

Bug reports that reproduce themselves.

Your customers file bugs from their AI assistant, straight into a live copy of your app. Triage replays every report on a clean machine and only sends you the ones that break again, as a link you can watch.
LIVE
agent-tui · v1.18.35
view only · 14:12 left
ghostty · 36×8
root@env:/work# opencode
panic: Segmentation fault
oh no: Bun has crashed.
Illegal instruction (exit 132)
root@env:/work# _
CLEAN REPLAYS
replay 1
exit 132 ✓
replay 2
exit 132 ✓
replay 3
exit 132 ✓
80×24 control
alive
TUI crashes on terminals narrower than ~43 columns
filed from Claude Code
reproduced 3/3
restored in 2.4 s
Copy README
HOW IT WORKS

From your customer's agent to a fully reproduceable sandbox environment.

No screenshots, no "works on my machine." The bug happens again in your environment, or it never reaches your inbox.
  1. 01YOU · ONCE

    Connect your repository

  2. 02YOUR CUSTOMER · FROM THEIR ASSISTANT

    They report it through your MCP server

    One line in your issue template. Their agent opens the exact version they run and drives it until it breaks.

  3. 03TRIAGE · AUTOMATIC

    It's replayed on a clean machine

  4. 04YOU · IN YOUR INBOX

    You watch it break

github.com/acme/agent-tui
builds on every tag
Every release gets its own environment.
v1.18.35
a41c9e2 · built 3m 12s
ready
v1.18.34
77e0b13 · built 3m 05s
ready
v1.18.31
0c9d4fa · built 2m 58s
ready
$ claude mcp add agent-tui-bugs --transport http https://api.triage.chodeberg.com/r/agent-tui/mcp
customer's terminal
> agent-tui crashes as soon as I split my terminal in half
● detect_environment() → agent-tui v1.18.35 (matches tag v1.18.35)
● open_session(v1.18.35) → fresh environment in 2.4 s
● launch(opencode, 36×8) → exit 132 · Bun has crashed
● launch(opencode, 80×24) → still running
● submit_repro() → replaying on a clean machine…
If it doesn't break again, it doesn't reach you.
replay 1 · untouched v1.18.35
exit 132 ✓
replay 2
exit 132 ✓
replay 3
exit 132 ✓
A live link and a README, filed under v1.18.35.
LIVE
TUI crashes on terminals narrower than ~43 columns
Copy README
WHAT LANDS IN YOUR INBOX

Evidence, not a description.

Every verified report carries what you'd normally spend a day collecting, in a README that a person or a coding agent can pick up and fix from.
Live link
Watch it crash, view only
Exact steps
Recorded, replayable, versioned
Video + traces
Screen recording and backtraces
CPU + memory
Catches leaks and runaway processes
qa-14-f3 / README.md
Copy README
.json
TUI crashes on terminals narrower than ~43 columns
crash · high · agent-tui v1.18.35 · reproduced 3/3 on a clean machine
Reproduce
tmux new-session -d -s w1 -x 20 -y 24 opencode
tmux new-session -d -s w3 -x 80 -y 24 opencode
# expect: w1 exits 132 within 10 s, w3 stays alive
MEMORY · RSS
crash at 4.1 s

Your coding agent can pull reports too: claude mcp add triage --transport http https://api.triage.chodeberg.com/mcp · list_reports · get_report · related

TELEMETRY

A flight recorder on every replay.

The sandbox records the machine while your app runs: memory, CPU, processes, the crash itself, and what was on screen. Leaks and runaway processes show up as data, not hunches.
replay 2 of 3 · agent-tui v1.18.35 · 1 sample / s
0 s ─────────────── 40 s
memory
cgroup 2.8 GB peak · 0 OOM
cpu
0.43 vCPU avg · per process
processes
tree · orphans · file handles
events
steps · signals · screen
▲ launch 80×24
▲ resize 36×8
● SIGILL · exit 132 · core dumped
▲ 80×24 control alive

ALWAYS ON · EVERY REPLAY

Memory
Per-process RSS, cgroup usage and peak, OOM kills, growth across repeated runs
CPU
Per-process and container CPU time, sampled every second
Processes
Process tree, orphaned children that outlive the app, open file handles
Crashes
Exit codes and signals, core dumps and symbolized stack traces, and the app's own crash output
Screen
A live view and a recording of the desktop, every keystroke and resize as a step
SAFETY

Whatever a reporter sends runs in a sealed box.

Steps, or a small test case for runtimes and SDKs. It runs on your build, offline, in a machine we throw away afterwards. That's what makes a public bug form safe to leave open.
No internet, no secrets
Sessions run offline. Builds reach only the hosts in your allowlist. No secrets ever enter the box.
Your budget, your caps
No reservation, no machine. Set a monthly cap, per-reporter quotas and who's allowed to report.
Fakes don't verify
Your build is checked after every replay. A crash only counts if it happens on your untouched release.
Private by default
Reports go to you, not a public tracker. View links are read-only and expire.
PRICING
1¢
≈ 1 minute
On a 4 vCPU, 12 GB desktop, billed from the moment it's up. You pay for the minutes it runs; reporters never pay.
Free every month
Enough to connect your app and verify your first bugs
100 credits
Credit packs
Or any amount from $5. Credits never expire.
$10 · $25 · $50 · $100
Lighter machines
For CLIs and TUIs that don't need the full desktop. About 2 minutes per credit.
2 vCPU · 8 GB
YOUR FIRST LIVE REPROS ARE ON US

Stop asking for steps to reproduce.

Start free
100 free credits every month