What changed
Opentrons published robot stack 10.0.0 on 30 September 2026, the version line after 9.1.2. The change that should change a lab's rollout plan is how the Flex turns on Pyro, the subprocess path used for hardware and protocol work.
On new Flex robots, enableHardwareSubprocess and enableProtocolSubprocess now default to false. Robots that already stored those flags at settings version 43 or later keep the stored values. Turning CRS on through PATCH /auth/settings/accessControlEnabled asks the robot server to set both flags true first. If that call fails, the request errors and CRS stays off. A restart is required before the flags take effect. The project notes say POST /settings can still toggle the flags on their own after CRS is already on. The stated result is that Pyro enables for robots that enter CRS mode, which the desktop wizard turns on, rather than for every new Flex.
The same stack fixes a hang that showed up once Pyro was on. Two protocol uploads a few seconds apart shared one simulating subprocess, so the second analysis never finished and the on device display (ODD in the notes) stayed on a loading skeleton. POST /protocols now records the analysis as pending and runs analyses one at a time. After an analysis finishes, the simulator is still killed and replaced. Checkout waits up to 180 seconds, up from 60, for that child to register with Pyro. If startup fails before a coordinator exists, the pending analysis is marked completed or not ok so the display can leave the skeleton. Robots that are not running Pyro still initialize analysis on the request. They do not enter this queue.
Two record keeping fixes sit next to that. Run log downloads stream a zip instead of building the whole archive on a nearly full robot disk, and the same streaming path is used for audit log zips. Mutating requests that fail for insufficient scope, including a protocol upload, are written to the audit log before the 403 is returned. The sample record in the change request is a test account, not a customer incident.
Smaller corrections in the same compare: magnetic block stacks on A3 stay separate from staging area stacks on A4, and a recoverable door open screen is shown during LPC.
Why it matters
A lab that enables CRS to get access control is also enabling a different execution path, then rebooting. That is a maintenance window, not a silent default. The queue matters only after that path is on. Overlapping protocol uploads were able to leave the touchscreen on a skeleton indefinitely. Streaming log downloads matter when the disk is too full to save another zip, which is exactly when an operator needs to pull logs off the robot without opening a shell.
The limit is scope. This is a software stack for the Flex, published more than two weeks before today. It is not a new instrument, a clinical claim, or a performance benchmark.
Who is affected
Labs that run Opentrons Flex robots and the people who turn CRS on, usually whoever owns the desktop wizard and the robot's access control settings. Protocol authors feel the analysis queue only on Pyro enabled robots. Audit reviewers gain a record of rejected mutating calls that previously produced a 403 with no audit row.
What to do next
Before enabling CRS on a Flex that is in daily use, plan the restart and confirm both subprocess flags flip only as part of that step. After the reboot, upload two large protocols a few seconds apart and confirm the second one waits, then finishes, instead of freezing the on device display. Download a run log from a robot whose disk is tight, and confirm rejected protocol uploads now appear in the audit log.
What to watch
Whether a later stack removes the split between Pyro enabled and Pyro disabled robots, and whether Opentrons changes the rule that POST /settings can still move the subprocess flags after CRS is on. The compare from 9.1.2 to 10.0.0 is the checklist.
Image: Opentrons
Image: Opentrons
Sources
- Primary — Opentrons, robot stack version 10.0.0 (30 September 2026). Release notes for the compare from v9.1.2, including Pyro, the analysis queue, streaming logs, the audit row, deck stacks, and the door open screen.
- Primary — Opentrons, keep Pyro off by default until CRS is enabled (merged for this stack). Defaults, the access control endpoint, and the failed enable path.
- Primary — Opentrons, queue protocol analyses so overlapping uploads cannot hang the display (merged for this stack). The shared subprocess bug and the one at a time queue.
Related in Biotech
Continue reading

