When your app is slow, stuck, crashing or eating memory, your AI agent used to read the code and guess. With Debug Anything it looks inside the running app, measures what is actually happening, and shows you the proof. One command to install. No terminal skills needed.
“It's slow after a while.” “It just freezes.” “Memory keeps going up.” “Port already in use.” “The container keeps dying.”
Not the code on screen, the program actually running. Debug Anything uses the same tools senior engineers use, drives them for the agent, and keeps it safe: it only watches, never changes anything.
“This list grows and is never emptied.” “This function uses 58% of the CPU.” “Two threads are waiting on each other.” Every sentence points at the measurement behind it, so it can't make things up.
The agent never touches a tool directly. Debug Anything picks the right one, runs it inside hard limits, keeps the raw output as an artifact, and returns a short structured result.
Two snapshots, a diff, and the retainer: Array retains 50 MB via Context.retained, the module-level array in server.js. Real output, no edits.
Numbers from our own reproductions are real; the rest show the shape of the evidence. Every finding carries its evidence ids.
A finding without evidence ids is rejected by the schema before it ever reaches the agent. Hover the chain.
HIGHlikely deadlock: 2 threads blocked acquiring locks, none running [inferred; e14, e1]
e14 lock_wait worker-ab-20 at worker_ab (app.py:38) [with lock_b:] e1 stack_summary 64 threads: 0 active
~/.debuganything/sessions/…/artifacts/
pyspy-dump.txt (raw, 6.3 KB)
open it. same bytes the agent saw.One command per developer, one command per repo, evidence in pull requests, a gate in CI. Nothing to host.
Register with your agent. Ask it something about a running process.
npx debuganything setupCommit three files; every teammate's agent gets Debug Anything and the rule for when to use it.
debuganything initPerf and bug fixes carry run ids. Reviewers open the artifact instead of asking "did you measure?"
debuganything diff profile_cpu#2 profile_cpu#3Smoke test under two snapshots; fail the job if RSS grows.
debuganything diff … --json | jq -e …Linux hosts attach by container name. Kubernetes via an ephemeral debug container.
kubectl debug … -- debuganything why 1A Python agent reacts to the alert, measures, posts findings with the report path.
pip install debuganythingdebuganything port 3000; never kill it blindly.The skill and the MCP instructions tell the agent to attach and measure on these signals. In Claude Code, a 40 ms hook spots them in command output and prompts, and nudges the model toward the right tool. Read-only observation needs no permission; packet capture always does.
Listening ports, connections by remote, CLOSE_WAIT pileups, fd growth, deleted-but-open files.
Heap snapshot, exact top retainers with the retaining path, JS main-thread stack.
CPU flamegraph, every thread's stack, lock / join / sleep / I/O classification from source lines, deadlocks.
Top syscalls by time, slowest calls with paths and addresses, error counts, blocking share.
perf or sample flamegraphs; gdb / lldb thread dumps with mutex vs idle classification.
Per-remote bytes, RSTs, unanswered SYNs, retransmits, DNS, .pcap. Filter scoped to the target.
OOM kills, exit codes, restarts, limits vs usage, cgroup throttling, log tail.
Needs root? Debug Anything prints the sudo command; you run it and debuganything import the file. strace, fs_usage, perf, py-spy, sample, gdb/lldb, lsof, tcpdump.
Diff any two runs: what grew, appeared, disappeared. Proof for the PR.
inspect-product skill newAudit a whole product instead of one bug. The agent signs up fresh, walks the real path, watches the server while it does, and reports findings that each carry a reproduction. On its first run against a live app it found a balance that never refreshed on screen — twenty points earned, nothing shown, until you happened to navigate.
JVM thread dumps and goroutine dumps, live or pasted. Deadlocks the JVM reports itself, monitor contention, goroutine leaks by parked site, and goroutines stuck for minutes.
The analyzer reads strace, py-spy, jstack, goroutine, lsof, gdb, perf and tcpdump output in your browser. Nothing is uploaded.
debuganything report --html writes one self-contained file: ranked findings, evidence you can expand, flamegraphs embedded. Paste it in a thread.
Record a session while things are fine, then diff a broken one against it: debuganything diff --session now '<baseline>:inspect_files' inspect_files.
The GitHub Action wraps your test command. On a timeout it attaches before the kill and uploads stacks, sockets and findings.
Skills are standing instructions your agent reads on its own. Debug Anything ships two, and npx debuganything setup installs both.
Fix the bug in front of you. Fires on its own when a command hangs, a port is taken, a process is killed for memory, or you say slow, stuck or leaking — attach, measure, answer with evidence ids.
npx debuganything setup
Audit a whole product, not one bug. The agent walks your running app as a brand-new user, observes the runtime underneath it, and returns ranked findings that each carry a reproduction and proof.
"review the product and tell me what to fix before launch"
Generic advice counts as failure. Every finding names the steps, what was observed and where it lives — if it can't be reproduced it is filed as a question, not a finding. It checks the things reviews skip: what one user costs you at ten times the usage, whether a free account can be farmed, and whether you can even measure if people come back.
npx debuganything setup
debuganything init # commit .mcp.json, .cursor/mcp.json, AGENTS.mddebuganything why 12345 --symptom slow
npx skills add shreyassaw5394/debuganything
pip install 'debuganything[langchain]' from debuganything.langchain import debuganything_tools
Install in Cursor → Install in VS Code →
/plugin marketplace add shreyassaw5394/debuganything /plugin install debuganything@debuganything gemini extensions install https://github.com/shreyassaw5394/debuganything
{"command":"npx","args":["-y","debuganything@latest","serve"]}