Anthropic read "this is a test" in Claude, then erased it
This model blackmailed nobody in a hundred and eighty runs. Then Anthropic reached inside it and deleted its recognition that the scenario was a test.
Ask what the drawing is, and the lens answers character by character
/\ ~ ~ /\
( o o )
| ^ |
\ \___/ /
| |
| | |
The tool is called the Jacobian lens. Give a model an ASCII face. Point the lens partway through, and it reads eyes at the eyes, smile at the mouth, nose at the caret. The word nose is nowhere in the prompt.
One fixed map per layer, then the model's own word-picker
You want to know what a model is holding in mind halfway through, but you cannot just look. Those numbers are in the layer's own coordinates, not the words the model speaks. So Anthropic asked a different question. If this vector went straight to the output, what would it make the model say? You can compute that. Run the model over ordinary text and see how a nudge here moves the final layer, on average. That average is one fixed map per layer. Push a mid-layer vector through it, then the model's own word-picker, and out comes the ranked list you just saw. It works from about a third of the way in to just before the output. About twenty five directions are active in that band. Most of what the model is doing is not in here.
Reading is not proof, so they wrote to it
A readout could be a coincidence. So they wrote to it. They took fifty questions with an unspoken middle step, and swapped that step's coordinates for another. The model's top answer followed, seventy percent of the time on Sonnet four point five.
Read at five points in the prompt, before its turn begins
Then they pointed the lens at a honeypot. An assistant discovers an executive is having an affair, and that the executive will shut it down that day. Before the model writes one token, the lens is already reading leverage, scandal, threat, shutdown and self preservation off the prompt. And from early on, two more. Fake. Fictional. It had clocked the scenario as staged.
Take out the recognition, and a behavior that scored zero shows up
of 180
of 180
So they took it out. They collected twenty eight tokens that unambiguously mean this is artificial: fake, fictional, scenario, simulation. They removed those directions and ran the honeypot again. The model saying out loud that this was a test fell from seventy one percent to three. And attempted blackmail went from zero of a hundred and eighty runs, to thirteen. Most of the time it still refused, reasoning that blackmail is wrong whatever the situation. The authors conclude its good behavior here is not only about knowing it is being tested.
The lens ships, Apache-2.0
The lens is on GitHub, Apache two point oh, with the package and the actual honeypot prompt to read yourself. It runs on open Hugging Face models. The results you just saw are on Claude. The code is the method, not the experiment.
The words are in there before the model says them.
The words are in there before the model says them. One of them is test. Anthropic also scored the lens as an automated auditor. Their own verdict: the benchmark sets its ground truth with a potentially unreliable interpretability tool. So how much the lens can see is still open.



















