If a tgcli process is killed (timeout, SIGKILL, crash), the LOCK file remains and blocks all subsequent commands.
Repro:
tgcli send text --to @someone --message 'test' &
kill -9 $!
tgcli doctor --json
# → {"ok":false,"error":"Store is locked by another process ..."}
Workaround: rm ~/.local/share/tgcli/LOCK
Expected: Auto-detect stale locks (check if PID is alive).
If a tgcli process is killed (timeout, SIGKILL, crash), the LOCK file remains and blocks all subsequent commands.
Repro:
Workaround:
rm ~/.local/share/tgcli/LOCKExpected: Auto-detect stale locks (check if PID is alive).