Kit Langton's June 20 commit 4f1a9d7a is maintenance work with a user-facing edge: when an OpenCode agent reaches its configured step limit, the next model turn is forced to answer in text only.
The Public Trail
The patch adds MAX_STEPS_PROMPT under @opencode-ai/core/session/runner, imports that prompt into the OpenCode session layer, and changes tests around session runner behavior. One new test configures the build agent to two steps, then expects the final request to have toolChoice set to none and an empty tool list.
That is a small implementation choice with a large product implication. A limit is not only a guardrail for compute or runaway tool use; it becomes a handoff to the user: here is what happened, here is what remains, here is what to do next.
Why This Contribution Matters
OpenCode was under-covered in today's source audit, and this patch is stronger than a release-number story because it changes how the runtime fails in public. The old test expected a bounded local tool loop to fail after 25 steps. The new path lets uncapped agents continue, while configured agents stop cleanly.
The constructive follow-up for Langton and the OpenCode maintainers is whether step limits should become visible earlier in the interface: not just at the final turn, but while users still have time to narrow the task.