Skip to content

Claude Code MRI Second Opinion: What Actually Works

A viral blog post used Claude Code to re-read an MRI. Here's how to actually try it on your own DICOM files - and where it falls apart.

8 min readBeginner

Here’s the uncomfortable opinion: the viral “Claude Code read my MRI” story is not a vindication of AI radiology. It’s a vindication of using AI to question your radiology report. Those are very different things, and most of the takes flying around right now collapse them into one.

The original post, Antoine’s writeup on antoine.fi, has been bouncing around Hacker News and X for the last day. The thread is full of radiologists, software engineers, and patients arguing past each other. If you want to actually try this on your own scan instead of just reading takes, here’s what the story leaves out – and how to do it with a Claude Code MRI second opinion workflow that accounts for where the AI fails.

The problem nobody states clearly

You have a diagnosis you don’t quite trust. Maybe the doctor recommended a procedure that felt aggressive. Maybe the report was three lines of jargon. You can:

  • Pay for a second human radiologist (slow, expensive, often months out)
  • Drop the DICOM into a free viewer and squint at slices you can’t interpret
  • Paste your report into ChatGPT and get a confidently vague answer

None of these are great. The viral post adds a fourth option – hand the raw scan to Claude Code – but it also quietly demonstrates the option’s biggest flaw.

Why the existing tools fall short (including Claude)

Free DICOM viewers like OHIF and MicroDicom are excellent for looking. OHIF is a zero-footprint medical image viewer that runs entirely in the browser and supports DICOMweb out of the box. They don’t, however, tell you what the bright spot on slice 47 means.

Plain Claude.ai chat is the opposite – it can talk about anatomy all day, but it can’t open a 266 MB folder of DICOM files. Antoine’s MRI package was a standard DICOM export containing a few hundred files without extensions, totaling around 266 MB, which he ran through Opus 4.8 (xhigh) within Claude Code specifically because it could install packages and run code.

And Claude Code itself? Here’s the part that didn’t trend: where the human radiologist saw a Grade III (greater-than-50%) partial-thickness tear at the apical insertion, Opus 4.8 reported an intact tendon. That’s not a minor disagreement. That’s the AI missing the headline finding. So if you’re going to do this, you have to design the workflow knowing the AI can miss exactly the thing you came to check.

The workflow I’d actually recommend

Forget the one-shot “analyze my MRI” prompt. That’s how you get a clean, fluent, confident, possibly-wrong report. Run it as a structured comparison instead.

1. Get Claude Code working with your scan

You need a paid Anthropic plan – as of mid-2026, the Pro plan at $20/month (or $17/month billed annually) includes Claude Code. The free Claude.ai tier does not work for this. Install Claude Code, point it at the folder containing your DICOM export, and start a session.

Tell it to install whatever Python packages it needs. For most shoulder/knee/spine scans this means pydicom, NumPy, and matplotlib. There’s also a community-built Pydicom skill for Claude Code that provides implementation patterns for extracting pixel data from CT, MRI, and X-ray scans, managing metadata tags, and handling multi-frame images and 3D volume reconstruction – useful if you want a head start.

# A typical first move inside Claude Code
import pydicom
ds = pydicom.dcmread('path/to/one_slice.dcm')
print(ds.Modality, ds.SeriesDescription)
pixel = ds.pixel_array # NumPy array, ready to inspect

2. Give it less freedom, not more

The single biggest mistake in the viral post: the only instruction was “right shoulder pain for 2-3 weeks,” which Antoine later realized was less than the human doctors received. Garbage context, garbage opinion.

Give Claude the full picture: your symptoms, duration, what makes it worse, prior injuries, the existing radiology report, and what specifically you want a second opinion on. “Is the supraspinatus intact at the apical insertion?” is a better prompt than “analyze this.”

3. Use it as a critic, not as the primary reader

This is the part Antoine got right on his second pass. Have Claude read the human report first, then ask it to look for evidence in the slices that supports or contradicts each specific finding. You’re using the AI to stress-test the human report, not replace it.

Pro tip: Ask Claude to output its reasoning as a table – finding, location, supporting slice numbers, confidence, and any contradicting evidence. A table forces specificity. Prose lets the model hide behind fluent vagueness.

The real-world example – and where it broke

Antoine’s case is worth walking through because it’s so honest about the failure mode. His clinic recommended shockwave therapy, but he was skeptical – ultrasound had shown no calcification and he wasn’t convinced the treatment fit his situation. He runs the MRI through Claude Code.

The AI’s report contradicts the human report on the central finding. So he does the smart thing: he doesn’t trust either in isolation. He feeds both reports back to Claude along with a conversation he’d had with ChatGPT about physical movements that might localize the problem. He ends up in a state of limbo – either try another doctor or wait and see if rehab works.

That “limbo” is actually the correct outcome. The AI didn’t give him a diagnosis; it gave him a reason to ask better questions. That’s the realistic ceiling for this workflow in 2026.

The cost trap nobody talks about

Claude Code’s billing on long, document-heavy sessions is genuinely weird, and DICOM analysis is exactly the kind of session that triggers the bad patterns.

Hidden cost Why it matters for MRI work
Extended thinking on by default Thinking tokens are billed as output tokens – on Opus that’s $25 per million tokens (as of mid-2026). Image analysis prompts make Opus think hard, and those reasoning tokens run before a single finding appears in your output.
Autocompact firing early On Opus with its 1M context window, autocompact has been reported (as of mid-2026) to fire as early as 76K tokens – wasting up to 92% of the available context. A few hundred DICOM slice readouts gets there fast.
Per-turn context bloat Claude Code’s main loop resends message history, system prompt, and tool schemas on every retry. Long DICOM sessions accumulate context quickly, so token counts climb faster than you’d expect from prompt length alone.

Practical fix: cap thinking with MAX_THINKING_TOKENS=8000, keep DICOM file content out of the message history (process slices to disk, summarize results, then paste only the summary back), and check /cost or /stats often. On Pro you’ll feel a runaway loop as a sudden session cap; on API billing you’ll feel it as a number.

What this does not replace

A radiologist with 10 years of musculoskeletal MRI experience can recognize patterns from thousands of prior shoulders. Opus 4.8 has read about shoulders. Those are different kinds of knowledge.

Academic work backs up the caution. The OmniBrainBench paper tested Opus 4.8 on a multimodal brain imaging benchmark – it could generate plausible-sounding radiology descriptions (identifying a temporal lobe lesion with edema and mass effect, for instance), but the same paper catalogs its error samples in detail. Fluency is not accuracy, especially in imaging where a confidently-stated “intact” hides a tear.

The Claude Code team itself has noticed the pattern. In interviews about why Anthropic built the Cowork GUI, Boris Cherny said that over the last six months a lot of people using Claude Code were not using it to code – someone was using it to analyze an MRI. The tool is being used this way. That doesn’t mean it’s safe to skip the doctor.

FAQ

Do I need to know Python to do this?

No. Claude Code writes and runs the Python for you. You read the output. You will need to type real questions, though – “is the supraspinatus intact at the apical insertion?” gets you further than “analyze this.”

What plan should I be on for a one-off MRI session?

Pro at $20/month is plenty for a single scan if you’re careful with prompts. The trap isn’t the plan – it’s letting Opus chew through thinking tokens on every retry. When you hit the session cap, stop. Save your intermediate summaries to a text file and resume in the next window with that summary as the seed instead of re-uploading the DICOMs. That one habit will save you more than any plan upgrade.

Is it safe to upload medical images to Claude?

This depends on what “safe” means to you. The images stay on your machine because Claude Code runs locally and only sends text descriptions and code outputs to the API by default – not raw pixel data, unless you explicitly do that. The bigger risk isn’t privacy; it’s overconfidence in a report from a model that, in the most-discussed example so far, missed a greater-than-50% tendon tear. If you would not act on advice from a stranger online, do not act on this either.

Next step: if you’ve got a DICOM CD or USB sitting in a drawer, open it in OHIF first and just look at it for ten minutes before you spin up Claude Code. You’ll prompt better when you’ve seen the slices yourself.