{"id":7854,"date":"2025-11-25T16:48:06","date_gmt":"2025-11-25T21:48:06","guid":{"rendered":"https:\/\/frontendmasters.com\/blog\/?p=7854"},"modified":"2025-11-25T16:48:07","modified_gmt":"2025-11-25T21:48:07","slug":"how-to-fix-any-bug","status":"publish","type":"post","link":"https:\/\/frontendmasters.com\/blog\/how-to-fix-any-bug\/","title":{"rendered":"How to Fix Any Bug"},"content":{"rendered":"\n<p>Dan Abramov has an interesting article <a href=\"https:\/\/overreacted.io\/how-to-fix-any-bug\/\">How to Fix Any Bug<\/a> where he&#8217;s having Claude write the code, but a bug shows up he needs to fix. Claude just isn&#8217;t getting it and it keeps saying it&#8217;s fixed when it isn&#8217;t (classic).<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Claude was repeatedly wrong because\u00a0<strong>it didn\u2019t have a repro<\/strong>.<\/p>\n<\/blockquote>\n\n\n\n<p>Meaning Claude couldn&#8217;t see the bug for itself. My first thought was: <em>Dan! You gotta get <a href=\"https:\/\/github.com\/ChromeDevTools\/chrome-devtools-mcp\">Chrome DevTools MCP<\/a>!<\/em> This essentially makes the browser context for Claude, which is in my experience pretty damn helpful. But Dan actually had the <a href=\"https:\/\/github.com\/microsoft\/playwright-mcp\">Playwright MCP<\/a> going, so it was a more complicated issue than just that. The path to a solution:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>This exact workflow\u2014removing things one by one while ensuring the bug is still present\u2014saved my ass many times.<\/p>\n<\/blockquote>\n\n\n\n<p>Reminds me of the lesser-known git feature <a href=\"https:\/\/git-scm.com\/docs\/git-bisect\">git-bisect<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dan Abramov has an interesting article How to Fix Any Bug where he&#8217;s having Claude write the code, but a bug shows up he needs to fix. Claude just isn&#8217;t getting it and it keeps saying it&#8217;s fixed when it isn&#8217;t (classic). Claude was repeatedly wrong because\u00a0it didn\u2019t have a repro. Meaning Claude couldn&#8217;t see [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7865,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[29],"tags":[104,150],"class_list":["post-7854","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-the-beat","tag-ai","tag-debugging"],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/11\/pexels-photo-13809414.jpg?fit=866%2C1300&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/7854","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/comments?post=7854"}],"version-history":[{"count":2,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/7854\/revisions"}],"predecessor-version":[{"id":7866,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/7854\/revisions\/7866"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/media\/7865"}],"wp:attachment":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/media?parent=7854"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/categories?post=7854"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/tags?post=7854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}