autocmd BufWinEnter,WinEnter * if &buftype == 'terminal' | silent! normal i | endif
startinsert doesn't work on terminal window.
In Terminal-Normal mode you can move the cursor around with the usual Vim commands, Visually mark text, yank text, etc. But you cannot change the contents of the buffer. The commands that would start insert mode, such as 'i' and 'a', return to Terminal-Job mode. The window will be updated to show the contents of the terminal. |:startinsert| is ineffective.