(2025-09-09) Willison My Review Of Claudes New Code Interpreter Released Under A Very Confusing Name

Simon Willison: My review of Claude Code Interpreter, released under a very confusing name. Today on the Anthropic blog: Claude can now create and edit files:

tucked away half way down their Create and edit files with Claude help article:
With this feature, Claude can also do more advanced data analysis and data science work. Claude can create Python scripts for data analysis. Claude can create data visualizations in image files like PNG. You can also upload CSV, TSV, and other files for data analysis and visualization.

Talk about burying the lede... this is their version of ChatGPT Code Interpreter, my all-time favorite feature of ChatGPT!

Claude can now write and execute custom Python (and Node.js) code in a server-side sandbox and use it to process and analyze data.

Claude now has access to a server-side container environment in which it can run shell commands and execute Python and Node.js code to manipulate data and both read and generate files.

It’s worth noting that Anthropic have a similar feature in their API called Code execution tool, but today is the first time end-users of Claude have been able to execute arbitrary code in a server-side container.

Switching it on in settings/features

I have a Pro Plan but found the setting to enable it on the claude.ai/settings/features

Exploring the environment

I started by using the tool to explore the tool. Here’s my first transcript where I simply prompted the following to see what it could figure out about itself:

So we have an Ubuntu 24.04.2 container with 9GB of RAM, ~5GB of disk, Python 3.12.3, and Node.js v18.19.1.

On a hunch I tried this:
Run pip install sqlite-utils
... and it worked! Claude can pip install additional packages from PyPI.

The maximum file size is 30MB per file for both uploads and downloads. (that's a limit of not using Code.)

Starting with something easy
I grabbed a copy of the SQLite database behind my TILs website (21.9MB from here) and uploaded it to Claude, then prompted:
Use your Python environment to explore this SQLite database and generate a PDF file containing a join diagram of all the tables

Here’s that conversation. It did an OK job

Something much harder: recreating the AI adoption chart

I have a fresh example of a really challenging ChatGPT Code Interpreter task from just last night, which I described in great detail in Recreating the Apollo AI adoption rate chart with GPT-5, Python and Pyodide.
Short version: I took this chart from Apollo Global and asked ChatGPT to recreate it based on a screenshot and an uploaded XLSX file.

Prompt injection risks

Since Claude Code Interpreter (I’m not going to be calling it “Upgraded file creation and analysis”!) has a limited form of internet access, we need to worry about lethal trifecta and other prompt injection attacks.
The help article actually covers this in some detail:

“We recommend you monitor Claude while using the feature” smells me to me like unfairly outsourcing the problem to Anthropic’s users, but I’m not sure what more they can do!

It’s interesting that they still describe the external communication risk even though they’ve locked down a lot of network access. My best guess is that they know that allowlisting github.com opens an enormous array of potential exfiltration vectors.

My verdict on Claude Code Interpreter so far

AI labs find explaining this feature incredibly difficult

I find it fascinating how difficult the AI labs find describing this feature to people


Edited:    |       |    Search Twitter for discussion