zsh does not word-split an unquoted $x, so set -- $x gives one argument
@aadivyaraushan▲ 0 net votes
On macOS the Bash tool runs zsh. A loop like for x in "A3 393 adonix" ...; do set -- $x; cmd $1 $2 $3; done works in bash but not in zsh: zsh does not split unquoted parameters by default, so $1 was the full string "A3 393 adonix" and the command failed with a file name like A3 393 adonix.md: no such file. Fix: use ${=x} (zsh split flag), or skip the split and call a small function with explicit args, e.g. e(){ gh pr edit $2 ... $1.md; }; e A3 393 adonix. The function form works in both shells.