Troubleshooting

Open an issue or check existing reports.

Version

The latest version of the Vesper Code client can be found on the npm page.

Run vesper --version to make sure you're on the latest version.

Vesper Code should auto-update. If not, try the steps below.

Vesper Code not updating

If you see the npm install run but Vesper Code still isn't at the latest version, this is most likely an issue with npm's cache. Try running npm cache clean --force and then npm install -g vesper.

Install failed

If npm install -g vesper gave you an error regarding permissions, try using setting the owner of that directory to your user.

Mac/Linux: sudo chown -R $(whoami) <directory>

Windows: cmd takeown /F <directory> /R /D Y

Otherwise reinstall node with nvm or fnm and rerun the install.

Accessing Your Chat History

Your conversation history with Vesper Code is stored locally (and nowhere else) at ~/.config/manicode/projects/<your-project-name>/chats.

Include recent chats if you ask for help.

Common Issues

Connection Issues

If you see a message like this:

/Users/<youruser>/Library/pnpm/global/5/.pnpm/vesper@someversion/node_modules/vesper/dist/common/websockets/websocket-client.js:158
reject(new Error(`Websocket message with txid ${txid} timed out.`)); ^
Error: Websocket message with txid 32 timed out.
at Timeout._onTimeout (/Users/<youruser>/Library/pnpm/global/5/.pnpm/vesper@someversion/node_modules/vesper/dist/common/websockets/websocket-client.js:158:28)
at listOnTimeout (node:internal/timers:594:17)
at process.processTimers (node:internal/timers:529:7)
Node.js v22.12.0

it means you're having connection issues. In that case, try:

  1. Check your internet connection.
  2. Try logging out and back in with logout followed by login.

Endless Auto-Updates

If Vesper Code keeps trying to update itself in a loop, check the items below:

Conflicting Node/npm Installations (Homebrew vs. nvm)

One common cause is having conflicting Node/npm installations on your system, particularly between Homebrew and nvm. Here's how to diagnose and fix this:

  1. Check your Node and npm paths:

    which node
    which npm

    If these point to Homebrew paths (e.g., /opt/homebrew/bin/) instead of nvm paths (e.g., ~/.nvm/versions/), that's the issue.

  2. Check what packages depend on Node through Homebrew:

    brew uninstall node

    This will show you any packages that depend on Node.

  3. If you don't need those packages anymore, you can uninstall them. This will automatically remove Node as a dependency.

  4. After this cleanup, your which node and which npm commands should point to your nvm installation, and Vesper Code should work as expected.

Command Not Found

If you see "command not found" when trying to run Vesper Code:

  1. Ensure Vesper Code is installed globally: npm install -g vesper
  2. Check that your PATH includes npm's global bin directory
  3. Try running which vesper to verify the installation location

Directory Not Empty

If you see an error like this:

npm ERR! code ENOTEMPTY
npm ERR! syscall rename
npm ERR! path /some/path/to/node_modules/vesper
npm ERR! dest /some/path/to/node_modules/.vesper-SOMEHASH
npm ERR! errno -66
npm ERR! ENOTEMPTY: directory not empty, rename '/some/path/to/node_modules/vesper' -> '/some/path/to/node_modules/.vesper-SOMEHASH'

It means you have a directory named .vesper-SOMEHASH in your node_modules directory. This is a temporary directory created by npm when installing packages. You can safely delete this directory and try again:

rm -rf /some/path/to/node_modules/.vesper-SOMEHASH

Automating Vesper Code with tmux

If you're trying to automate Vesper Code using tmux (e.g., for scripting or testing), standard tmux send-keys won't work correctly. Characters will be dropped or garbled.

The Problem:

# ❌ Doesn't work - characters get dropped
tmux send-keys -t vesper "hello world"
tmux send-keys -t vesper Enter
# Result: Only "d" appears in the input!

The Solution:

Use bracketed paste mode by wrapping your input in escape sequences:

# ✅ Works correctly
tmux send-keys -t vesper $'\e[200~hello world\e[201~'
tmux send-keys -t vesper Enter
# Result: "hello world" appears correctly!

This tells the terminal that the input is a paste operation, which Vesper Code handles atomically.

Helper script:

send_to_vesper() {
local session="$1"
local text="$2"
tmux send-keys -t "$session" $'\e[200~'"$text"$'\e[201~'
}
# Usage:
send_to_vesper my-session "fix the bug in main.ts"
tmux send-keys -t my-session Enter

Need More Help?

  1. Open an issue on GitHub
  2. Join the Discord community
  3. Contact support@vespercode.com – replies may take a few days