soma.cell

E0057: task_try_write

E0057 task_try_write — a [task] handler writes inside a try that spans a think().

A compile-time error of soma check, the checker of the Soma programming language (soma explain E0057).

The rule

In a [task] handler each think() ends a step and commits what was written before it. A try that writes a slot (or transitions) and then reaches a think() therefore does not undo those writes if it fails. soma check 3.1.0 reports this as the warning W0014 rather than under E0057; move the writes after the try.

When you see it

This [task] lint is raised with its habit flag set, so soma check 3.1.0 always reports it as the warning W0014 (habit_warning), never under this code — in edition 2026 and in edition 2027 alike. No program makes soma check print it.