The problem
How it works
Simon Willison connected to an NVIDIA Spark over SSH, started an NVIDIA CUDA development container, installed Claude Code with npm and ran it with permission checks turned off, relying on the container as the sandbox so it could work without asking him to approve each command. One long prompt asked it to check the environment, clone the DeepSeek-OCR code and model, keep append-only notes in notes.md, leave setup and run scripts and a README, and OCR a sample image. Claude Code found that the GPU’s compute capability was too new for the PyTorch version it had installed. When it stalled, Willison suggested looking for ARM builds of PyTorch with CUDA support; it found PyTorch 2.9.0 wheels, got the model running and produced output. A short follow-up fixed an empty result file by trying the model’s other prompt modes, and a last prompt zipped the scripts and notes.
Results and limitations
Willison reports that it worked: four prompts, under 40 minutes from first prompt to last message, with only 5 to 10 minutes of his own attention. Claude Code at one point declared success while the output file held only whitespace. He has not reviewed all of the notes it wrote and says they may contain errors, but counts the project as a clear win.
Before you try it
Skipping permission checks is only reasonable in a throwaway container with no credentials or personal files inside, and the agent can still reach the network. His own knowledge of ARM CUDA builds is what unblocked the agent. Check outputs yourself instead of trusting a reported success. Results depend on your setup and were not independently reproduced by Top 200 Repos.
Tools and repositories
- Tools
- Claude Code · Docker with NVIDIA CUDA images · PyTorch · Hugging Face Transformers · SSH
- Prerequisites
- A machine with an NVIDIA GPU that can run Docker, and a Claude account for Claude Code.
Try it yourself: Brief a sandboxed agent to get a model running
Fill the fields to adapt the prompt. Empty fields stay as visible [placeholders].
You are running in a disposable Docker container on [Hardware]. Your goal is to get [Model] from [Code repository URL] running and use it on [Sample input]. First check the environment, including the GPU, drivers, CUDA version and CPU architecture, and say whether this looks possible. Work in a folder called [Work folder]. Append notes to notes.md as you go and never rewrite earlier notes. At the end, leave a setup script, a run script and a README explaining what worked, what failed and the exact versions you used. Before you say you are finished, open the output and confirm it contains real results.Mount no credentials or personal files into the container, and review what the agent installed before you reuse its scripts.
Related videos
About anthropics/claude-code
The SECRET Claude Code Upgrade That Has Everyone Going Nuts (Full Guide) (opens in a new tab)
The title names the project, the description links the project website.
Watch on YouTube (opens in a new tab)About anthropics/claude-code
The only Claude Code guide you'll ever need (Opus 4.5) (opens in a new tab)
The title names the project, the description links the project website.
Watch on YouTube (opens in a new tab)Independent creators. Listing a video implies no endorsement, sponsorship or partnership.
Sources
- Getting DeepSeek-OCR working on an NVIDIA Spark via brute force using Claude Code (opens in a new tab)
First-person account · simonwillison.net · Published 20 Oct 2025 · Source checked 12 Nov 2026, 07:54 UTC
What this source supports
- Ran Claude Code with permission checks skipped inside a Docker container on an NVIDIA Spark
- DeepSeek-OCR uses PyTorch, CUDA and Hugging Face Transformers
- The GB10 GPU’s compute capability was too new for PyTorch 2.5.1; PyTorch 2.9.0 ARM CUDA wheels worked after a nudge from the author
- Claude Code first reported success with an output file that held only whitespace
- Four prompts and under 40 minutes in total, with 5 to 10 minutes of the author’s active involvement
- The author had not reviewed all the generated notes and says they may contain errors

