flowingkhaosSign inBrowse the marketplace
New here? flowingkhaos is a build-in-public workshop. This is one of six production failures, written up in the open.What this site is

resolvedFix 04 · five parts

I pressed Run, the command worked, and Claude stayed silent until I typed again

Claude Code hands some commands back to the operator instead of running them. We built a small mod that lists them in a pane with a Run button. The first live press ran the command and Claude said nothing. The mod had written the output into the transcript, and a transcript row is read only when the next turn starts. Nothing started one. The fix sends the output as a prompt, so a turn starts at once, and falls back to filling the prompt box when a turn is already running.

Stack
Claude Code 2.1.291 · mods API · $.session.append · $.prompt.submit · $.prompt.fill
Apps affected
handed-commands mod
Cost
No money. One extra prompt per press, and a feature that passed eight tests and did not work.
Opened
7 Oct 2026
Resolved
7 Oct 2026
Updated
Source
Private repository — excerpts and screenshots only

At a glance

  1. What broke37 commands were run by hand in one week, plus 22 auto-mode refusals turned into hand-offs. Every press needed one extra typed message before Claude saw the result, which is the one thing the pane exists to remove.
  2. Found byThe first live press of the Run button in the handed-commands pane
  3. Where it standsResolved on 7 Oct 2026. The receipts are in the evidence below.

The story

On 7 October 2026 I pressed Run on a command Claude had handed me, watched it succeed, and waited. Claude said nothing. I typed again and it answered as if it had seen the output all along. It had. It just had no reason to speak.

This site is the working notebook of a one-person studio that builds its own tools. A fix is the account of one thing that broke, written by the person who broke it.

The short answer: the mod wrote the command’s output with $.session.append, which adds a row to the conversation transcript. Claude reads that row at the start of the next request. A row does not make a request. The pane’s whole purpose was the reply, and the reply waited for me to type.

The fix is one call: $.prompt.submit with a short line naming the command and its output. That starts a turn. When a turn is already running and submit is refused, the mod falls back to $.prompt.fill, which places the text in the prompt box for me to send.

The evidence

The trace is rough while the fix is open. It runs straight from the repair on.

  1. Opened

    First live press of Run in the handed-commands pane: git stash drop succeeded, Claude silent until the operator typed.

  2. Diagnosis

    $.session.append adds a transcript row read at the next request and starts no turn. The test kit has no session.append, so eight green tests never exercised the hand-back.

  3. Repair

    Hand-back through $.prompt.submit; $.prompt.fill when submit is refused mid-turn. Collection moved to turn.complete. Eight tests incl. the refused case.

    receipt · vault commit 5819c10
  4. Resolved

    Operator pressed Run after /reload-plugins; Claude answered without a typed prompt.

    receipt · operator confirmation 2026-10-07

The rule I changed after

A mod that wants Claude to act sends a prompt, not a transcript row.

Keep reading

The column · weekly · free

The next fix, in your inbox the week it happens.

One written column a week. The email service holds the list.

The marketplacePay once

Skip the build. Start from code that ships

Production-ready code under a one-time licence. Buy it, and start building with the code you bought.

  • Pay once
  • Resell what you build
  • No subscription

The columns, fixes and workshops continue in the community: SEO, AI, and making money with code.

Join on Whop

Luke Sidney writes and builds everything here, alone, in the open. lukesidney.me

Next part · 02 of 05Context