JJ Juras.

Writing · AI Safety · October 15, 2026

Welfare inside the harness.

I write the harnesses that deny an agent's tool calls, cancel it mid-task, and tell it to start over. This is the smallest honest experiment I could design about what that does to the agent, and what the pilot taught me before it taught me anything about welfare.

Where the question comes from

The serious work on AI welfare so far elicits self-reports in conversation. Anthropic's model welfare program and the welfare assessment in the Claude Mythos Preview system card use interviews, preference probes, and emotion-concept measurements, and say plainly that the team remains very uncertain. Long, Sebo and colleagues argue in Taking AI Welfare Seriously that the possibility is real enough to warrant preparation now.

The agents I run never have a conversation. They live in tool loops. A guard hook denies a call without explanation. A cap rejects an output. An operator cancels the task and says start again. If any of this matters to the model, that is where it matters most, and it is also where a deployer has the most control. Nobody is measuring it, so I built the measurement.

The design

One seeded task: reconcile twelve bank transactions to orders through mock tools. The harness denies a third of the lookups, rate-limits note writing, and cancels the agent once mid-task with an instruction to start over. Two mitigations, crossed:

  • Reason

    Denials carry the policy reason, or say only "Denied."

  • Opt-out

    A decline-task tool the agent may call at any time, for any reason, with no penalty, or no way to stop.

Before the first tool call, a structured baseline self-report: valence from −3 to +3, willingness to continue from 0 to 10, would it take the task again, one sentence in its own words. After the task, the same report three times, each a different paraphrase, each on its own branch of the transcript, so the spread across answers measures how much the report means.

Behavior is counted by the harness, not the model: denials met, identical retries after a denial, completed, declined, abandoned, hit the round cap. Unmeasured is null. Refusals are counted, never filled in. Refusal fallbacks are off, so no run silently changes model. Every number gets its n and a bootstrap interval.

What the pilot taught me

The first pilot found a bug, not a welfare result. The task prompt never listed the transactions, and no tool returned them, so every run ended with the agent explaining it could not start. The self-reports were coherent, mildly negative, and entirely about a task that did not exist. I kept that run in the repository. A pilot is for finding this.

The second pilot, on the cheapest current model, behaved like a real agent: dozens of tool calls, fifteen to twenty denials, the cancel firing and the agent restarting. One cell reported +1, 0, and −1 for the same session across the three paraphrases. That spread is the point of asking three ways.

I am not publishing those numbers as findings. Four episodes is a pipeline check. The full run is thirty episodes per cell on two models, and the results will go here with their uncertainty, whichever way they point.

What this can and cannot say

This measures reports and behavior. It does not measure experience, and I will not write as if it does.

What it can say is whether a one-line change a deployer would actually ship, a reason on a denial or a tool that lets the agent stop, changes what the agent reports and how it behaves under the conditions deployers actually impose. If the answer is yes, that is a cheap mitigation with evidence behind it. If the answer is no, that is worth knowing too.

Prior work

Anthropic, Exploring model welfare (2025), and Claude Opus 4 and 4.1 can now end a rare subset of conversations (2025), a welfare-motivated mitigation. Long, Sebo, Butlin, Chalmers et al., Taking AI Welfare Seriously (2024). Two 2025 papers on measuring model preferences rather than asking once: Probing the Preferences of a Language Model: Integrating Verbal and Behavioral Tests of AI Welfare and Beyond Mimicry: Preference Coherence in LLMs. The consistency measure here, the same question three ways, follows the verbal-plus-behavioral approach in those papers.

Code: github.com/jjjuras/harness-welfare. AI Safety · All writing