Broken Backspace or Delete behavior in PuTTY turns basic command-line editing into a small festival of odd characters like ^H, ^?, or a random ~. The usual symptom is a key that prints junk instead of erasing, or a key that appears to do nothing in shells and editors.
Special keys are sent as control characters or escape sequences, and the remote system decides how to interpret them based on the current TTY settings and the declared terminal type ($TERM). A mismatch between what PuTTY sends and what the remote line discipline expects for erase breaks Backspace, while an incompatible terminal type or keypad mode can make the Delete key send a sequence the remote applications do not understand.
Keyboard options are saved per PuTTY session profile, so one host can use Control-H while another uses Control-? without affecting other profiles. Serial consoles and network appliances often expect older terminal types (such as vt100), so pairing a compatible Terminal-type string with the correct keyboard mode avoids surprises in full-screen programs such as vim and nano.
^H is Control-H (8) and ^? is DEL (127) when echoed by a terminal.
This setting improves compatibility for Delete, Home, and End sequences.
Setting $TERM to a value without a matching terminfo entry can break full-screen programs with errors such as unknown terminal type.
Saving Default Settings applies the change to new sessions created later.
Continue with the next steps if Backspace still prints ^H/^? or fails to erase.
$ stty -a speed 38400 baud; rows 44; columns 160; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; ##### snipped #####
Match The Backspace key to erase = ^? (use Control-?) or erase = ^H (use Control-H).
$ cat -v ^[[3~ ^C
Press Delete once, then press Ctrl+C to exit cat.