Troubleshooting - su-record/vibe GitHub Wiki
Solutions to common issues when using Vibe.
- Installation Issues
- MCP Server Issues
- Command Execution Issues
- Agent Issues
- Performance Issues
- Configuration Issues
- Platform-Specific Issues
Symptoms:
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission deniedCause: No permission to write to global npm directory.
Solution 1: Use sudo (not recommended)
sudo npm install -g @su-record/vibeSolution 2: Fix npm permissions (recommended)
# Create npm directory in home folder
mkdir ~/.npm-global
# Configure npm to use new directory
npm config set prefix '~/.npm-global'
# Add to PATH (add to ~/.bashrc or ~/.zshrc)
export PATH=~/.npm-global/bin:$PATH
# Reload shell
source ~/.bashrc # or source ~/.zshrc
# Reinstall
npm install -g @su-record/vibeSolution 3: Use nvm (best practice)
# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Install Node via nvm
nvm install 18
nvm use 18
# Now install Vibe
npm install -g @su-record/vibeSymptoms:
npm install -g @su-record/vibe
# Success!
vibe --version
# bash: vibe: command not foundCause: npm global bin directory not in PATH.
Solution:
# Find npm global bin path
npm config get prefix
# Example output: /usr/local
# Add to PATH
export PATH="$(npm config get prefix)/bin:$PATH"
# Add to ~/.bashrc or ~/.zshrc for persistence
echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# Verify
vibe --versionSymptoms:
npm install -g @su-record/vibe
# error: Requires Node.js >= 18.0.0Cause: Node.js version too old.
Solution:
# Check current version
node --version
# If < 18.0.0, update Node
# Using nvm (recommended):
nvm install 18
nvm use 18
# Or download from nodejs.org:
# https://nodejs.org/en/download/
# Verify
node --version # Should be 18.0.0+
# Reinstall Vibe
npm install -g @su-record/vibeSymptoms:
claude mcp list
# No MCP servers configured
# OR
# vibe: node /path/to/@su-record/vibe/node_modules/@su-record/hi-ai/dist/index.js - ✗ DisconnectedCause 1: You're not in a project directory where vibe init was run.
Solution 1: Check your directory
# MCP servers are registered per-project
# Make sure you're in the correct project directory
cd /path/to/your/project
# Check if .vibe exists
ls -la .vibe/
# Run vibe init if needed
vibe init
# Verify
claude mcp listCause 2: Claude Code not running.
Solution 2: Start Claude Code
# Make sure Claude Code is open
# Check in menu bar or taskbarCause 3: MCP server registration corrupted.
Solution 3: Re-register
# In your project directory
cd /path/to/your/project
# Re-run init (safe to run multiple times)
vibe init
# Verify
claude mcp list
# Should show: vibe - ✓ ConnectedSymptoms:
/vibe.spec "feature"
# Command not recognized
Cause: MCP server not connected or slash commands not registered.
Solution:
# 1. Check you're in your project directory
cd /path/to/your/project
# 2. Check MCP server status
claude mcp list
# If not connected, see Issue 4
# 3. Restart Claude Code
# Quit completely and reopen
# 4. Try command again
/vibe.spec "test feature"Symptoms:
vibe analyze --code
# Error: MCP tool 'analyze_complexity' timed out after 30sCause: Large codebase or slow disk I/O.
Solution 1: Increase timeout
Edit .vibe/config.json:
{
"mcp": {
"timeout": 60000 // 60 seconds (default: 30000)
}
}Solution 2: Analyze specific directory
# Instead of entire project
vibe analyze --code src/services/Solution 3: Exclude large files
Create .vibeignore:
node_modules/
dist/
build/
*.min.js
vendor/
Symptoms:
vibe spec "feature"
# Q1. Why?
# [cursor blinks forever, no response]Cause: Interactive mode waiting for input.
Solution 1: Enter answer
# Just type your answer and press Enter
Q1. Why?
> Reduce user churn from 15% to 10%Solution 2: Use batch mode
# Create answers file
cat > answers.json << 'EOF'
{
"why": "Reduce churn...",
"who": "All users...",
"what": "Features...",
"how": "Technical requirements...",
"when": "Timeline...",
"with_what": "Tech stack..."
}
EOF
# Run in batch mode
vibe spec "feature" --file answers.json --batchSolution 3: Use slash command in Claude Code
/vibe.spec "feature"
# Claude will ask questions in chat
Symptoms:
vibe run "Task 1-1"
# Error: Agent 'backend-nodejs-expert' not foundCause: CLAUDE.md specifies unsupported tech stack.
Solution:
# Check supported agents
vibe agents
# Update CLAUDE.md with supported stack
# Supported:
# - Backend: Python/FastAPI
# - Frontend: Flutter, React/Next.js
# - Database: PostgreSQL
# Edit CLAUDE.md
vim CLAUDE.md
# Change:
# - Framework: Node.js/Express
# To:
# - Framework: FastAPI 0.104+
# Retry
vibe run "Task 1-1"Symptoms:
vibe run "Task 1-1"
# ✅ Task 1-1 completed
git diff
# (no output)Cause: Task might be verification-only or agent encountered error but marked complete anyway.
Solution:
# Check task guide
cat .vibe/guides/task-1-1.md
# Check quality report
cat .vibe/reports/verification-*.md
# If task should have changed files, re-run with verbose
vibe run "Task 1-1" --verbose
# Look for errors in output
# If still failing, file issue:
# https://github.com/su-record/vibe/issuesSymptoms:
vibe plan "notification settings"
# Error: SPEC file not found: .vibe/specs/notification-settings.mdCause: Mismatch between feature name and SPEC filename.
Solution:
# Check existing SPECs
ls .vibe/specs/
# Example output:
# notification_settings.md (underscore, not hyphen)
# Use exact filename (without .md)
vibe plan "notification_settings"
# Or rename file
mv .vibe/specs/notification_settings.md \
.vibe/specs/notification-settings.md
# Then retry
vibe plan "notification-settings"Symptoms:
vibe run "Task 1-1"
# Agent suggests Express.js code
# But project uses FastAPICause: CLAUDE.md missing or incorrect.
Solution:
# Create CLAUDE.md
cat > CLAUDE.md << 'EOF'
# CLAUDE.md
## Tech Stack
### Backend
- Framework: FastAPI 0.104+
- Database: PostgreSQL 17
### Frontend
- Framework: Flutter 3.24+
EOF
# Retry task
vibe run "Task 1-1"Symptoms:
vibe verify "feature"
# Code Quality: 45/100 (F)
# - No type hints
# - No docstrings
# - High complexityCause: Quality standards not configured.
Solution:
# Edit config
vim .vibe/config.json
# Add quality standards
{
"quality": {
"max_complexity": 10,
"max_function_length": 20,
"min_test_coverage": 80,
"require_type_hints": true,
"require_docstrings": true
}
}
# Re-run task
vibe run "Task 1-1"
# Agent will now enforce standardsSymptoms:
Agent creates UserService.get_user()
But project uses UserRepository.find_by_id()
Cause: Agent doesn't know project patterns.
Solution:
# Create custom skill
mkdir -p skills/custom/
cat > skills/custom/project-patterns.md << 'EOF'
# Project Patterns
## Repository Pattern
Always use Repository suffix:
- UserRepository, not UserService
- Method names: find_by_id, find_all, save, delete
## Example
```python
class UserRepository:
async def find_by_id(self, user_id: UUID) -> User | None:
...EOF
vibe run "Task 1-1"
---
## Performance Issues
### Issue 14: `vibe analyze` is very slow
**Symptoms:**
```bash
vibe analyze --code
# Takes 5+ minutes
Cause: Large codebase with many files.
Solution 1: Analyze specific directories
# Instead of entire project
vibe analyze --code src/services/
vibe analyze --code src/api/Solution 2: Exclude files
Create .vibeignore:
node_modules/
dist/
build/
coverage/
*.test.js
*.spec.ts
Solution 3: Use parallel execution
Edit .vibe/config.json:
{
"analysis": {
"parallel": true,
"max_workers": 4
}
}Symptoms:
MCP server memory usage: 2GB+
System becomes slow
Cause: Large memory cache from previous sessions.
Solution:
# Clear MCP memory cache
rm -rf ~/.vibe/memory/*.db
# Restart MCP server
claude mcp restart vibe
# Set memory limits
# Edit .vibe/config.json:
{
"mcp": {
"memory": {
"max_size_mb": 512,
"auto_cleanup": true
}
}
}Symptoms:
vibe run "Task 1-1"
# Takes 10+ minutes for simple taskCause: Network latency or slow AI model.
Solution:
# Check network
ping api.anthropic.com
# If slow, check:
# 1. VPN disconnected?
# 2. Firewall blocking?
# 3. Proxy configured correctly?
# Generate guide offline, execute manually
vibe run "Task 1-1" --guide-only
cat .vibe/guides/task-1-1.md
# Implement manually following guideSymptoms:
vibe run "Task 1-1"
# Error: Invalid configuration: unexpected token in JSONCause: Syntax error in config.json.
Solution:
# Validate JSON
cat .vibe/config.json | python -m json.tool
# If error, fix syntax
vim .vibe/config.json
# Or regenerate default config
rm .vibe/config.json
vibe init
# Retry
vibe run "Task 1-1"Symptoms:
vibe plan "feature"
# Agent suggests wrong tech stack despite CLAUDE.mdCause: CLAUDE.md in wrong location or incorrect format.
Solution:
# CLAUDE.md must be in project root
ls CLAUDE.md
# If not found, move it:
mv docs/CLAUDE.md ./CLAUDE.md
# Verify format
cat CLAUDE.md
# Must have:
# ## Tech Stack
# ### Backend
# - Framework: ...
# Retry
vibe plan "feature"Symptoms (Windows PowerShell):
vibe --version
# 'vibe' is not recognized as an internal or external commandCause: npm global bin not in PATH.
Solution:
# Find npm global prefix
npm config get prefix
# Example: C:\Users\YourName\AppData\Roaming\npm
# Add to PATH
$env:Path += ";C:\Users\YourName\AppData\Roaming\npm"
# Permanent: Add to System Environment Variables
# Settings → System → About → Advanced system settings
# → Environment Variables → Path → Edit
# Add: C:\Users\YourName\AppData\Roaming\npm
# Restart PowerShell
# Verify
vibe --versionSymptoms (macOS):
claude mcp list
# vibe: Error: EACCES: permission deniedCause: Node.js binary not allowed by Gatekeeper.
Solution:
# Allow Node.js in System Preferences
# System Preferences → Security & Privacy → General
# Click "Allow" next to Node.js message
# Or remove quarantine attribute
xattr -d com.apple.quarantine $(which node)
# Restart MCP server
claude mcp restart vibe
# Verify
claude mcp listSymptoms (Linux):
npm install -g @su-record/vibe
# EACCES: permission deniedCause: No write access to /usr/local.
Solution:
# Option 1: Fix npm permissions
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
# Option 2: Use nvm (recommended)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 18
nvm use 18
# Install Vibe
npm install -g @su-record/vibeIf your issue isn't listed here:
# Vibe logs
cat ~/.vibe/logs/latest.log
# MCP server logs
cat ~/.vibe/mcp.log
# Claude Code logs
# Help → Show Logsvibe run "Task 1-1" --verbose
vibe analyze --verbose# Open browser
open https://github.com/su-record/vibe/issues
# Search for your error message
# Check closed issues too (might be already solved)# Create issue with template:
# - Vibe version: vibe --version
# - Node version: node --version
# - OS: uname -a (Linux/Mac) or ver (Windows)
# - Error message: Full error output
# - Steps to reproduce: What commands you ran
# - Expected behavior: What should happen
# - Actual behavior: What happened insteadTemplate:
## Bug Report
**Vibe Version:** 0.1.2
**Node Version:** 18.17.0
**OS:** macOS 14.0
**Error Message:**vibe run "Task 1-1" Error: Agent not found
**Steps to Reproduce:**
1. vibe init
2. vibe spec "feature"
3. vibe plan "feature"
4. vibe tasks "feature"
5. vibe run "Task 1-1"
**Expected:** Task should execute
**Actual:** Error: Agent not found
**Additional Context:**
CLAUDE.md contents: ...
- GitHub Discussions: https://github.com/su-record/vibe/discussions
- GitHub Issues: https://github.com/su-record/vibe/issues
- MCP Server (hi-ai): https://github.com/su-record/hi-ai
# 1. Verify installation
vibe --version
# 2. Check MCP server
claude mcp list
# 3. Verify Node version
node --version # Should be 18+
# 4. Check CLAUDE.md exists
cat CLAUDE.md
# 5. Validate config
cat .vibe/config.json | python -m json.tool
# 6. Check file permissions
ls -la .vibe/
# 7. Review logs
cat ~/.vibe/logs/latest.log
# 8. Try verbose mode
vibe <command> --verboseStill stuck? We're here to help!