Troubleshooting - vyfor/cord.nvim GitHub Wiki
🔧 Troubleshooting
Running into issues with Cord? Here are some common problems and how to fix them.
🛠️ General Steps
Start here - these steps often resolve most issues:
-
Make sure Discord is running, restart Neovim, and check whether Cord is fully loaded.
-
Run
:Cord update
to check for server updates. -
Double-check your Discord Activity Privacy settings — Rich Presence needs permission to show.
-
Add
log_level = vim.log.levels.TRACE
to yourcord.setup()
to see debug logs via:messages
. Don't forget to switch back to a lower level after (e.g.WARN
orOFF
). -
Run
:checkhealth cord
for a quick config check. -
Make sure the Discord IPC pipe exists:
- Windows:
Test-Path \\.\pipe\discord-ipc-0
- Linux/macOS:
find /tmp ${XDG_RUNTIME_DIR:+$XDG_RUNTIME_DIR} ${TMPDIR:+$TMPDIR} ${TMP:+$TMP} ${TEMP:+$TEMP} -type s -name 'discord-ipc-*' 2>/dev/null
If you get nothing or "False", the pipe may not be available.
- Windows:
🎛️ No Buttons in Rich Presence
You might not be seeing buttons in your own Rich Presence. This is due to a client-sided bug on the app.
But there is actually a way to see them, join a voice channel and hover over your name. Buttons should show up in the tooltip.
⏱️ Rich Presence Timer Stuck at 00:00
This usually means your system clock is off.
Make sure your date, time, and timezone are correct and synced (using automatic time sync is best).
💻 Special Environments
🌐 Using Discord in a Browser
Cord doesn't support browser Discord out of the box. Use arrpc as a bridge. Follow its instructions closely.
[!IMPORTANT] arrpc has been left unmaintained for quite some time.
🐧 Running inside WSL
WSL doesn't expose Windows named pipes by default, which Discord needs. To work around that, use socat
and npiperelay
.
This method is based on this gist.
-
Install
socat
in WSL:sudo apt install socat
-
Get
npiperelay.exe
from here and place it in a path accessible from WSL, preferably add it to PATH. -
Add this
nvim
alias in your.bashrc
,.zshrc
, etc.:nvim() { if ! pidof socat > /dev/null 2>&1; then [ -e /tmp/discord-ipc-0 ] && rm -f /tmp/discord-ipc-0 socat UNIX-LISTEN:/tmp/discord-ipc-0,fork \ EXEC:"npiperelay.exe //./pipe/discord-ipc-0" 2>/dev/null & fi if [ $# -eq 0 ]; then command nvim else command nvim "$@" fi }
Update the path to
npiperelay.exe
if needed. Always launch Neovim using this alias in WSL.
🖥️ Remote Server (SSH)
You can forward the Discord IPC socket over SSH. This article explains how.
❓ Still Having Trouble?
If nothing above works:
- Check the FAQ for other common questions.
- Look through existing GitHub issues.
- If it seems like a bug, open a new issue. Be clear and include as much detail as possible.
You can also ask in Discussions or Discord if you're unsure.