Thanks Roman for all of your help. I'm just posting a note here to close this thread out in case anyone else finds this in the future. The issue ended up being how I was configuring zsh to understand the character widths of the items in my prompt. The full detail can be found on this thread: https://github.com/robbyrussell/oh-my-zsh/issues/7945 Thank you again Roman! I would have never been able to figure all of this out because I didn't even know what to google for. 😅 On Fri, Jul 5, 2019 at 1:58 AM Roman Perepelitsa < roman.perepelitsa@gmail.com> wrote: > Let's have this discussion only in one place. I replied in > https://github.com/robbyrussell/oh-my-zsh/issues/7945. > > Roman. > > On Fri, Jul 5, 2019 at 1:05 PM Zhao Li wrote: > >> wow thank you so much for taking the time to write your post. Your >> example code to fix the problem along with explanation helps tremendously. >> I can understand why %{...%} is helpful here >> >> ( >> https://github.com/robbyrussell/oh-my-zsh/issues/2314#issuecomment-32155974), >> but not where I was using it in my prompt. >> >> Thank you also for pointing me to gitstatus and your detailed example >> code for that as well. >> >> I think I'm finally at a good place with my prompt and using zsh with >> oh-my-zsh. >> >> My last remaining issue is with hyper.js not properly handling emoji's >> and causing the prompt to be off by one character >> ( >> https://github.com/zeit/hyper/issues/3516). Unless you know of some easy >> fix for that as well, I'm going to just wait for hyper.js to fix that issue >> ticket. >> >> Thanks again for your time and effort. >> >> On Thu, Jul 4, 2019 at 9:06 PM Roman Perepelitsa < >> roman.perepelitsa@gmail.com> wrote: >> >>> This is the problem: >>> >>> PROMPT+='%{$(git_info)%}' >>> >>> Fix: >>> >>> PROMPT+='$(git_info)' >>> >>> I've provided more details in >>> https://github.com/robbyrussell/oh-my-zsh/issues/7945. >>> >>> Roman. >>> >>>>