fix(agents): preserve flag arrays in output

Amolith created

echo $flags concatenates array elements with spaces, causing all flags
to be passed as a single argument. Using printf '%s\n' outputs one flag
per line, which shells properly capture as separate array elements.

Assisted-by: Claude Sonnet 4 via Crush

Change summary

fish/functions/_synu_agents/aider.fish    | 2 +-
fish/functions/_synu_agents/claude.fish   | 4 ++--
fish/functions/_synu_agents/llxprt.fish   | 2 +-
fish/functions/_synu_agents/opencode.fish | 2 +-
fish/functions/_synu_agents/qwen.fish     | 2 +-
5 files changed, 6 insertions(+), 6 deletions(-)

Detailed changes

fish/functions/_synu_agents/aider.fish 🔗

@@ -151,5 +151,5 @@ function _synu_agent_aider_interactive --description "Interactive model selectio
     end
 
     # Output flags for caller to use
-    echo $flags
+    printf '%s\n' $flags
 end

fish/functions/_synu_agents/claude.fish 🔗

@@ -236,6 +236,6 @@ function _synu_agent_claude_interactive --description "Interactive model selecti
         end
     end
 
-    # Output flags for caller to use
-    echo $flags
+    # Output flags for caller to use (one per line for proper array capture)
+    printf '%s\n' $flags
 end

fish/functions/_synu_agents/llxprt.fish 🔗

@@ -93,5 +93,5 @@ function _synu_agent_llxprt_interactive --description "Interactive model selecti
     end
 
     # Output flags for caller to use
-    echo $flags
+    printf '%s\n' $flags
 end

fish/functions/_synu_agents/opencode.fish 🔗

@@ -89,5 +89,5 @@ function _synu_agent_opencode_interactive --description "Interactive model selec
     end
 
     # Output flags for caller to use
-    echo $flags
+    printf '%s\n' $flags
 end

fish/functions/_synu_agents/qwen.fish 🔗

@@ -94,5 +94,5 @@ function _synu_agent_qwen_interactive --description "Interactive model selection
     end
 
     # Output flags for caller to use
-    echo $flags
+    printf '%s\n' $flags
 end