← SurfacedDrop no. 54AI tooling6min read

Claude Code MRI 2026: AI's Second Opinion vs Radiologist Diagnosis

The story behind the drop.

A blogger fed 266 megabytes of raw MRI data into Claude Code, got a contradiction of his radiologist, then watched the model walk itself back.

Published

UTC

Reading time

6 min

~210 wpm

Word count

1,256

plain English

Category

AI tooling

ai-tooling

A blogger with a sore shoulder handed roughly 266 megabytes of raw hospital imaging to an autonomous coding agent and asked it whether his radiologist was wrong, and the answer came back twice, in opposite directions.

A clinic visit, a serious-sounding finding, and a hunch

On June 28, 2026, an independent writer named Antoine, publishing at antoine.fi, posted an essay titled "Using Opus 4.8 to get a second opinion on an MRI and where it leaves me." Antoine is not a doctor. As he opens the piece, "I'm of course not a doctor, this is actually the problem." He had been dealing with pain in his right shoulder for two to three weeks, enough to send him to an orthopedist, who ordered an MRI and produced a written radiologist's report.

The report was specific and not gentle. The human radiologist identified a Grade III, greater-than-fifty-percent-width, partial-thickness tear at the apical insertion of the subscapularis tendon. The subscapularis is one of the four rotator-cuff muscles that anchor the shoulder, and a partial-thickness tear at the apical insertion means the tendon is partly detached from the bone where it attaches. Grade III describes the width of the damaged stripe across the tendon, not its depth. In practice that wording matters, because a Grade III partial tear usually leads to a surgical conversation, while ordinary tendinosis usually does not.

The clinic also produced a treatment plan: shockwave therapy and an injection of a substance called Traumeel. Antoine left uneasy. In his own words, "Coming out of the clinic, I had the feeling they had jumped the gun."

A text audit, before the imaging ever opened

Before going anywhere near the raw scan, Antoine ran the written radiology report and the treatment plan through GPT 5.5 Pro. The model raised two flags against the clinic's plan rather than the diagnosis itself.

The first concerned the shockwave therapy. Recent clinical guidelines recommend against shockwave therapy for rotator-cuff tendinopathy when no calcification is present in the tendon. An earlier ultrasound on the same shoulder had already confirmed that no calcification was present, which made the indication for the procedure thin.

The second concerned the injection. The model pointed out that Traumeel is registered in Germany as a homeopathic medicine carrying, in the regulator's exact phrasing, "no therapeutic indication." Neither of these flags touched the question of whether the tendon was torn. They touched the question of whether the proposed treatments were warranted at all. The text-only audit was enough to give Antoine the confidence to go back to the clinic and ask for the underlying data.

Loading the raw scan into a coding agent

The clinic released the imaging in DICOM format, the standard file format every hospital MRI machine uses to store image slices alongside patient and machine metadata. The package was substantial: roughly 266 megabytes in size, containing a few hundred image files, none of which had file extensions. Opening a bundle like that outside a hospital workstation normally requires specialised viewer software.

Antoine skipped that step. He loaded the DICOM package into Claude Code, the command-line coding agent from Anthropic, running the Opus 4.8 model on its highest reasoning setting, labelled xhigh. He gave the model only one sentence of clinical context: right shoulder pain for two to three weeks. No diagnosis. No reference to the radiologist's report. No hint of where to look.

What followed was an agentic workflow rather than a chat. Claude Code installed its own Python imaging packages, parsed the unlabeled DICOM files, planned an analysis, and ran it. The first pass took roughly one hour of continuous execution and returned a structured report 7.72 megabytes in size. Its conclusion was, on its face, a direct contradiction of the radiologist. The subscapularis tendon, the report said, was intact, with no tear visible.

The two readings now disagreed on the single question that decides whether a shoulder goes to surgery or to physiotherapy.

The unusual second pass, where the model grades itself

Rather than declaring a winner, Antoine ran a second pass. He fed Claude Code both the human radiologist's original report and the model's own 7.72 megabyte first report, and asked the same system to arbitrate between the two. This is the part of the experiment with no real precedent in everyday use of these tools. The model was asked to weigh the clinical authority of a trained radiologist against the internal logic of its own prior output, and to decide which one to back.

The arbitration pass took roughly another hour and produced a separate 4.52 megabyte report. Its bottom line was short. The arbiter's verdict, quoted from the report, was: "Evidence favours Reader A. Moderate-to-high confidence." Reader A was the human radiologist. The model, given the chance to defend its own first answer, declined.

It did not, however, fully ratify the clinic either. The arbiter softened the original Grade III finding into something quieter, writing: "Mild insertional tendinosis; no discrete partial- or full-thickness tear identified, including at the apical insertion." That single sentence walked the human report back from a possibly surgical Grade III partial-thickness tear toward something usually managed conservatively. It also walked the model's own earlier "intact" verdict back toward a finding of low-grade tendon irritation.

The patient ended up in a third place: neither cleanly torn nor cleanly clean.

What the experiment actually shows

The essay reached the front page of Hacker News on the day of publication, drawing 306 upvotes and 201 comments. It is worth being precise about what the discussion was reacting to, because the popular shorthand around stories like this tends to flatten them.

The experiment does not show that an autonomous coding agent is now better than a radiologist at reading shoulder MRIs. It does not show that the radiologist was wrong and the model was right, because the arbitration reversed the model's own first answer. It does not show the opposite either, that the radiologist was simply correct, because the arbiter softened the Grade III tear into mild tendinosis. What the experiment shows is narrower and more interesting: a frontier model, given the raw imaging, a coding environment, and a single sentence of context, was willing to produce a confident contradiction, and then, given a structured chance to defend that contradiction against a human expert, walked itself back.

There is also a process detail worth holding on to. Claude Code did not arrive with a medical imaging plug-in or a hospital workstation. It wrote its own DICOM-handling code with standard Python libraries, planned its own analysis, executed it, and produced a structured report. The same system then graded its own work against a trained radiologist's. None of this required Antoine to be a programmer in the imaging domain. It required him to be patient and to ask the right second question.

Antoine closes the essay where most readers would: with his shoulder already starting to feel better on its own, and a hope rather than a forecast. "My hope is that in a couple of model generations we'll trust AI to review MRIs the way we trust it to proofread our emails." For now, the second opinion is not a verdict. It is another voice in the room.

Sources