The macOS X fork of Meld[1] requires a "=" in the "--output" argument, as it uses a wrapper[2] script that munges the "--output" argument before calling into the common "meld" script. The macOS X wrapper script[2] accepts "--output=<filename>" only, despite the fact that the underlying meld code accepts both "--output <filename" and "--output=<filename>"[3]. All versions of meld which accept "--output" accept it in the "--output=<filename>" form, so use "--output=<file>" for maximum compatibility. [1] https://github.com/yousseb/meld [2] https://github.com/yousseb/meld/blob/master/osx/Meld [3] https://github.com/yousseb/meld/issues/42 Reported-by: Matthew Groth <mgroth49@xxxxxxxxx> Helped-by: Samuel Lijin <sxlijin@xxxxxxxxx> Signed-off-by: David Aguilar <davvid@xxxxxxxxx> --- I cloned the meld repo and could not find the code reported in the original issue, but I did find that same exact code existed in a macOS fork. After more investigation, this turned out to be a macOS-only issue. The commit message has been updated to better reflect what's really going on. mergetools/meld | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mergetools/meld b/mergetools/meld index bc178e8882..7a08470f88 100644 --- a/mergetools/meld +++ b/mergetools/meld @@ -10,7 +10,7 @@ merge_cmd () { if test "$meld_has_output_option" = true then - "$merge_tool_path" --output "$MERGED" \ + "$merge_tool_path" --output="$MERGED" \ "$LOCAL" "$BASE" "$REMOTE" else "$merge_tool_path" "$LOCAL" "$MERGED" "$REMOTE" -- 2.13.1.453.gc0395165f3