The cursor blinked, but nothing happened.
That pause cost minutes, and minutes cost momentum. You don’t notice how much time you lose on a shell until commands stop flowing. That’s why shell completion isn’t a nice-to-have — it’s the difference between smooth work and friction you can feel in your teeth. When you’re working over Mosh, that difference becomes even sharper.
Mosh, the mobile shell for remote sessions, stays alive through network drops and long idle times. It’s fast, resilient, and perfect for unstable connections. But by default, Mosh doesn’t handle shell completion the way you expect from your local terminal. This means fewer suggestions, more typing, and more chances for typos when speed matters.
The good news: you can get full, powerful shell completion in Mosh with a proper setup. You’ll keep your autocompletion for commands, flags, file paths, and Git branches — all in a way that feels like you never left localhost.
Here’s the core idea. Mosh itself doesn’t handle completion logic. Your remote shell does. That means the key is to make sure your remote environment is configured with your preferred shell (like bash, zsh, or fish) and that its completion scripts are loaded properly. If you start Mosh and your completions don’t show, it usually means your shell startup files are skipping their usual logic because of how Mosh spawns the session.