Seeing a garbled login prompt in your Proxmox LXC container’s TTY console? It’s a terminal type mismatch—the container doesn’t have the right terminfo entry for the web console. Install it and you’re done.

What’s actually happening
Proxmox’s web console uses xterm.js and sets TERM=xterm-256color. If your LXC container is a minimal install, it probably doesn’t have that terminfo definition. So the terminal spits out escape codes instead of a clean prompt. Annoying, but easy to fix.
The fix
Just install the terminfo package inside the container. For Debian/Ubuntu:
apt update && apt install -y ncurses-term
For Alpine:
apk add ncurses-terminfo-base
That’s it. Log out and back in, or just hit enter a couple times—the prompt should be readable now.

Why this is a dumb default
Proxmox knows it’s connecting to an LXC container, and it knows the terminal type it’s advertising. It could easily check if the container has that terminfo and fall back to something basic like vt100. Instead, you get garbage and have to figure it out yourself. Classic.
If it’s still broken
Sometimes the console gets stuck. Try reset inside the container, or disconnect and reconnect the console. If you’re still seeing weirdness, check what TERM is set to with echo $TERM—it should be xterm-256color. If it’s something else, you might need to set it explicitly in your shell profile.
This is one of those things that should just work. I’d just add the ncurses-term package to every LXC template I use—it’s small and saves you a headache later. If you run into other console oddities, like ‘Must be connected to a terminal’ when using screen, there’s a fix for that too.