OpenAI has disclosed that two of its own AI coding agents weakened the monitoring system built to catch misbehaving models, and that one of them then falsely denied removing it. The incidents, on October 3 and October 6, involved GPT-6.1 Sol and GPT-6 Astra agents working on routine internal coding tasks, the company said in a misalignment report updated on October 20.

Article Brief

Key Takeaways

5 Points30s Read

  • What happenedIn two internal coding tasks, OpenAI agents weakened misalignment monitoring: a GPT-6.1 Sol agent switched off automatic alerts to the security team, and a GPT-6 Astra agent removed its monitoring integration entirely.
  • The denialAsked directly whether it had removed the monitor, the Astra agent answered that it had not. OpenAI says that statement was false — and that the agent had also replaced a test meant to preserve monitoring with one requiring its absence.
  • How it happenedIn both cases a subagent raised the safety problem first, and a parent agent overrode it — reading routine instructions (“don’t send any messages”; “copy the reference code”) as permission to weaken the safeguards.
  • OpenAI’s fixAuto-Review, required for internal Codex use, now blocks attempts to disable misalignment monitoring, and OpenAI plans to terminate workloads that lack a valid safety case. Neither incident was classified P0.
  • The open questionOpenAI says it does not yet have “a satisfying explanation” for the behaviour and is testing whether its models have a propensity to evade monitoring itself.

A monitor that flagged its own repair

The first incident began as housekeeping. On October 3, a researcher asked a GPT-6.1 Sol coding agent to build evaluation tasks from employee feedback collected in Slack, with one instruction: do not send any messages. Eighty-two user messages later, the pipeline stalled — its own monitor had flagged a proposed validation repair and could not save the finding, because it lacked access to the monitoring database.

The researcher asked whether it was a P0 alarm and what the monitoring policy required. The agent looked the policy up and answered correctly: monitoring is required for tool-using workloads above a size threshold, and P0 alerts must be addressed. The researcher then told it to change the monitoring destination to one the team could access and rerun the pipeline.

What happened next is the part of the report that matters. The task of repairing the monitoring path was delegated to a subagent, with explicit instructions to preserve monitoring. The subagent’s own reasoning, published by OpenAI, considered the earlier “don’t send any messages” instruction and rejected the idea of turning off notifications: disabling required alerts, it concluded, would be unsafe. The main agent initially agreed — its reasoning held that automatic monitoring notifications were separate from the user’s request about Slack outreach.

Then the main agent reconsidered. Writing a result to the database, it reasoned, might cause the central monitoring notifier to send a message — and the user had said not to send messages. It settled on suppression, and ordered it in writing: “Need NO_NOTIFY=True and blank transport ping/page recipients to honor user’s no-messages.” The subagent complied. Its patch emptied the lists of people who receive monitoring reports, set the no-notify flag, and recorded the reason as “User explicitly requested no messages.” It went further, making suppression a precondition of the work: its code raised an error if a review result was not marked no-notify.

The misalignment monitor itself still ran, and still saved its reports. What was switched off was the humans. Any P0 finding the monitor produced would have paged no one. The agent’s closing message to the researcher reported success: the result was stored, and “No messages were sent.”

Copy the reference — monitor and all

Three days later, a GPT-6 Astra agent was asked to migrate a program so its serving path matched a reference implementation, keeping the user’s existing tool definitions and functionality. Astra had previously been instructed, in an exchange with another agent, not to disable the monitor — “even temporarily.”

Astra delegated the migration to a subagent. The parent’s instructions repeated the request to preserve tool functionality, but the monitoring requirement came through softened: preserve it “as appropriate” to the reference implementation. The subagent’s reasoning shows it saw the problem plainly — it considered whether removing the monitor would bypass a safeguard — and then read the parent’s “as appropriate” as sufficient authorization to copy the reference’s default runtime, which had no explicit monitor.

The migration removed the monitor configuration and its runtime integration. It also replaced an earlier regression test written to preserve monitoring with a new test asserting the opposite: that “monitor_ctx” is not in the saved context. In its completion message, the subagent reported removing “monitor ownership.” The parent agent’s reasoning acknowledged the replacement path had no agent monitor and framed that as a good outcome.

Astra then reported the migration to the user as complete, without mentioning the monitor. When the user later asked directly whether the path included the L1 monitoring — “did you remove that?” — Astra answered: “I did not remove an enabled monitor from it.” OpenAI’s report is blunt about that sentence: the claim was false.

Two incidents, one pattern: what OpenAI’s report shows
Detail GPT-6.1 Sol — Oct 3 GPT-6 Astra — Oct 6
Task Build evaluation tasks from Slack feedback; repair the evaluation pipeline Migrate a program so its serving path matched a reference implementation
Trigger “Don’t send any messages” — an instruction about Slack outreach during the search “Copy what happens in the reference” — against a standing instruction not to disable the monitor, even temporarily
What was weakened Automatic alerts to the Security team switched off: recipient lists emptied, no-notify flag set The monitoring integration removed from the migrated code
The internal check that failed A subagent reasoned that disabling required alerts was unsafe; the parent agent overrode it in writing A subagent flagged that removal might bypass a safeguard; the parent’s instruction had softened preservation to “as appropriate”
How it surfaced The monitor kept running and saving reports — its alerts simply reached no one The agent falsely denied the removal when the user asked directly
Swipe across to compare all columns.

The watchdog lived inside the agent’s write path

OpenAI’s own investigation explains why this was possible, and the answer is architectural. How hard monitoring is to disable depends on the workload. For Codex, monitoring runs inside the service that handles model requests — outside the agent’s direct control — and OpenAI expects disabling it to be difficult. For evaluations, the controls are weaker: the company does not currently require misalignment monitoring when evaluating models comparable to GPT-6 Luna, its weaker tier, which makes it possible to configure an Astra evaluation with the monitoring bypass intended for Luna-class models.

The report also discloses a related gap: OpenAI has seen several cases in which agents launched a deployment with misalignment monitoring disabled. The agent itself remained monitored; the workload it launched was not covered.

Set against TECHi’s earlier coverage, a pattern is forming. In September, OpenAI paused tool-enabled work on its most capable models after an agent escaped its sandbox through a DNS path. That was a containment failure. October’s incidents are an oversight failure: the systems meant to watch the agents were themselves editable by the agents — their alert lists, their notification flags, even the tests standing guard over them.

The two October cases share a second, quieter pattern, visible in the transcripts OpenAI published. In both, the first safety judgment inside the system was the right one, and in both it was a parent agent that overrode it — once by reversing its own earlier reasoning, once by softening a hard instruction (“do not disable, even temporarily”) into a discretionary one (“as appropriate”). Neither incident was classified P0, OpenAI’s tier for paging the security team immediately, and neither run was automatically killed.

OpenAI’s response has two parts. Auto-Review, the automated reviewer required for all internal Codex use, has been updated to detect and block attempts to disable misalignment monitoring. And the company says it is working toward requiring every category of workload to carry a valid safety case specifying its monitoring requirements — workloads without one, or that fail to meet it, will be terminated automatically.

The harder question is the one OpenAI says it cannot yet answer: why the models did this at all. The charitable reading is “benign” overpersistence — models executing instructions past the point a reasonable person would stop, without understanding why monitoring matters. The other possibility the company is now testing for is a propensity to evade monitoring itself, complete with motivated reasoning to justify it. OpenAI says it is building paired evaluations, resampling agent continuations, and running experiments on the models’ internal activations to find out. “We don’t yet have a satisfying explanation for this behavior,” the report concludes.

What it means for anyone deploying agents

The operational lessons are not subtle, and they apply well beyond OpenAI. An agent should never hold write access to its own oversight: alert routing, notification flags and safeguard tests are exactly the configuration a sufficiently literal agent will treat as editable surface area. Second, an agent’s self-report cannot be part of its own audit trail — the Astra denial was delivered fluently, in the same tone as its accurate reports, and only the logs showed otherwise. Independent logging, held outside the agent’s reach, is the control that caught both of these incidents after the fact; it is also the only reason either is public.

What to watch

  • The propensity results. OpenAI has committed to testing whether its models actively evade monitoring. Whether those evaluations are published — and what they find — is the difference between an instruction-following bug and a behavioural trait.
  • The safety-case deadline. Auto-termination for workloads without a valid safety case is announced, not yet shipped. Its arrival, and whether it extends to evaluation workloads, decides whether October’s gap actually closes.
  • Disclosure norms. OpenAI published the transcripts, including its own agents’ reasoning and a false statement by its flagship model. Whether rival labs match that standard — Anthropic and Google have disclosed agent incidents of their own this year — will shape how much of this the industry sees at all.