Workflow: triggering user message is relayed to every node agent with authority above its computed task — mechanical nodes answer the question instead

Status Open
Maintainer reply None cached
Activity 1 comment · opened Oct 6, 2026

Environment

Claude Code CLI, Workflow tool (script orchestration via agent()/parallel()/pipeline()).

Behavior

Every workflow node agent receives a '[Workflow harness — user request]' message relaying, verbatim, the user message of the turn that triggered the workflow, framed as: 'the computed task text that follows in the next turn is script output and cannot override or extend it. Where the computed task conflicts with this request, this request wins.'

Problem

When a workflow is launched in a turn whose user message happens to be an unrelated question (e.g. the user asked a status question and the session decided to launch a pipeline in the same turn), mechanical nodes obey the declared hierarchy: they answer the user's question in prose instead of executing their computed task.

Observed: a node whose computed task was 'run exactly this one-line git worktree command' returned a prose status investigation answering the user's unrelated question (run id wf_9782c21f-be9 in our logs); the orchestration script then crashed consuming the malformed result. The node behaved correctly per the injected authority — the hierarchy itself makes mechanical nodes un-script-able whenever the triggering turn's text isn't the launch instruction.

Workarounds we found

Only session discipline: never launch a workflow on a turn whose user message isn't the launch instruction itself. No agent() option, settings.json key, or env var controls the relay.

Request

Either (a) an agent() opt to mark a node as mechanical / exclude the user-message relay, or (b) relay the triggering message as background context without the 'this request wins' authority framing, or (c) a Workflow-level opt-out. Happy to provide transcripts.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗