experimental.chat.system.transform fires for task-spawned subagent sessions after the task prompt (user message) is already in the conversation. Pushing to output.system at that point places a system message at a non-zero position, which Qwen3.6's strict Jinja chat template rejects with 'System message must be at the beginning.' Move session-start.sh injection to chat.message (first turn guard via initializedSessions). Injected as a synthetic text part via unshift(), which has no position constraints.
Description
No description provided
Languages
Shell
72.9%
TypeScript
18.7%
JavaScript
8.4%