Codebuff

Troubleshooting

If you're stuck, open an issue or check existing reports.

Version

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

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

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

Codebuff not updating

If you see the npm install run but Codebuff 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 codebuff.

Install failed

If npm install -g codebuff 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 Codebuff 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:

bash
/Users/<youruser>/Library/pnpm/global/5/.pnpm/codebuff@someversion/node_modules/codebuff/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/codebuff@someversion/node_modules/codebuff/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 Codebuff 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:

    bash
    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:

    bash
    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 Codebuff should work as expected.

Command Not Found

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

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

Directory Not Empty

If you see an error like this:

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

It means you have a directory named .codebuff-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:

bash
rm -rf /some/path/to/node_modules/.codebuff-SOMEHASH

Automating Codebuff with tmux

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

The Problem:

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

The Solution:

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

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

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

Helper script:

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

Need More Help?

If you're still experiencing issues:

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

Advanced