"Normally, history is saved on exit, but this doesn't happen when the connection is lost." – First of all, are you sure the old
csh
has exited? My point is when an SSH connection is lost, the server may or may not be aware of this, at least for a while, and thus the old csh
may still run when you connect anew. See this answer. Reasonably low settings of ClientAliveInterval
and ClientAliveCountMax
on the SSH server may help.