diff --git a/autoload/SpaceVim/api/prompt.vim b/autoload/SpaceVim/api/prompt.vim
index 8b75a3a79..a6f7fbae7 100644
--- a/autoload/SpaceVim/api/prompt.vim
+++ b/autoload/SpaceVim/api/prompt.vim
@@ -64,6 +64,11 @@ endf
 
 function! s:self._getchar(...) abort
   let ret = call('getchar', a:000)
+  " @bug getchar() does not work for <
+  " https://github.com/neovim/neovim/issues/12487
+  if ret ==# "\x80\xfc\<C-b><"
+    return '<'
+  endif
   return (type(ret) == type(0) ? nr2char(ret) : ret)
 endfunction