diff --git a/pkg/tools/execute/server.go b/pkg/tools/execute/server.go index 9352ccf..0c2c408 100644 --- a/pkg/tools/execute/server.go +++ b/pkg/tools/execute/server.go @@ -306,7 +306,9 @@ func (e *Server) callPromotedTool(ctx context.Context, tool string, args json.Ra e.wdMu.RLock() workDir := e.cwd e.wdMu.RUnlock() - result, err = e.executeElevated(ctx, code, workDir, 30) + // Broker protocol has no stdin support; pipe JSON via heredoc. + elevatedCode := fmt.Sprintf("cat <<'OLLIE_EOF' | %s\n%s\nOLLIE_EOF", code, stdinData) + result, err = e.executeElevated(ctx, elevatedCode, workDir, 30) } else { result, err = e.executeWithStdin(ctx, code, "bash", 30, "default", false, stdinData) }