Quick solutions to common issues
Error:
Error: Multiple presets selected
Found: Astro Site, React App
Please select only ONE preset or choose Custom.
Solution:
- Open
PROJECT_STARTER.md - Find the Project Preset section
- Make sure only ONE option has
[x], all others should be[ ]
Correct:
- [ ] **Static Website**
- [x] **Astro Site** ← Only one X
- [ ] **React App**Incorrect:
- [x] **Static Website**
- [x] **Astro Site** ← Two X's!
- [ ] **React App**Error:
Error: No preset selected
Please select a preset or choose Custom.
Solution: Change at least one [ ] to [x]:
- [x] **Astro Site** ← Add the XWarning:
Warning: MCP Servers toggle is FALSE but individual MCPs are enabled
Ignoring MCP configuration.
Solution: Either:
- Enable the master toggle:
- **MCP Servers**: `TRUE`Or: 2. Accept that MCPs won't be configured (leave it FALSE)
Remember: Master toggles override everything. FALSE = entire section
skipped.
Problem: Claude Code doesn't recognize the command.
Solutions:
- Check you're in the right directory:
pwd
# Should show your project directory with .claude/ folder
ls -la .claude/
# Should list command files- Verify command file exists:
ls .claude/commands/quick-start.md- Restart Claude Code: Close and reopen your terminal/Claude Code session.
Error:
cp: permission deniedSolutions:
On Mac/Linux:
sudo cp -r .claude/ /your-project/On Windows:
- Right-click your terminal
- Select "Run as Administrator"
- Try again
Error:
cp: .claude already exists
Solutions:
Option 1 - Backup and replace:
mv .claude .claude.backup
cp -r /path/to/sidekick/.claude/ .Option 2 - Merge:
cp -r /path/to/sidekick/.claude/* .claude/Option 3 - Start fresh:
rm -rf .claude
cp -r /path/to/sidekick/.claude/ .Error:
Error: PROJECT_STARTER.md not found
Solution:
# Check if file exists
ls PROJECT_STARTER.md
# If not, copy it
cp /path/to/sidekick/PROJECT_STARTER.md .
# Verify it's there
ls -l PROJECT_STARTER.mdError:
Error: Expected TRUE or FALSE, got "true"
Solution: Values must be UPPERCASE:
Correct:
- **MCP Servers**: `TRUE`
- **Hooks**: `FALSE`Incorrect:
- **MCP Servers**: `true` ← Lowercase
- **Hooks**: `false` ← LowercaseError:
Error: NEON_API_KEY not found in environment
Solution:
- Create .env file:
cp .env.example .env- Add your keys:
NEON_API_KEY=your_actual_key_here
DATABASE_URL=postgres://your_connection_string
GITHUB_TOKEN=ghp_your_github_token- Verify:
cat .env
# Should show your values (not "your_actual_key_here")Important: Never commit .env to Git!
Symptoms:
- App starts but can't save data
- Database queries fail
- "Connection refused" errors
Solutions:
- Check DATABASE_URL in .env:
grep DATABASE_URL .env
# Should show: postgres://...- Verify Neon project is active:
- Log into https://neon.tech
- Check project status
- Ensure it's not paused/suspended
- Test connection:
npx prisma db execute --url="$DATABASE_URL" --stdin <<< "SELECT 1;"If this fails, your DATABASE_URL is wrong.
- Regenerate connection string:
- Go to Neon dashboard
- Click "Connection string"
- Copy the new string
- Update
.env
Error:
Error: Migration failed to apply
Solutions:
- Reset database (DEVELOPMENT ONLY):
npx prisma migrate reset- Force migration:
npx prisma migrate deploy- Check for conflicts:
npx prisma migrate status- Start fresh:
# Delete migrations
rm -rf prisma/migrations
# Recreate
npx prisma migrate dev --name initError:
Error: Schema and database are out of sync
Solution:
# Generate Prisma client
npx prisma generate
# Apply migrations
npx prisma migrate deploy
# Restart your app
npm run devError:
Error: Cannot find module 'some-package'
Solutions:
- Install dependencies:
npm install- Clear cache and reinstall:
rm -rf node_modules package-lock.json
npm install- Check package.json:
cat package.json
# Verify the package is listed- Install specific package:
npm install some-packageError:
Error: Port 3000 is already in use
Solutions:
Option 1 - Stop other app:
# Find what's using port 3000
lsof -i :3000
# Kill it (replace PID with actual number)
kill -9 PIDOption 2 - Use different port:
# Nuxt/Vite
npm run dev -- --port 3001
# Next.js
npm run dev -p 3001Option 3 - Change default port:
In package.json:
{
"scripts": {
"dev": "nuxt dev --port 3001"
}
}Error:
FATAL ERROR: JavaScript heap out of memory
Solution:
Increase Node.js memory:
export NODE_OPTIONS="--max-old-space-size=4096"
npm run buildOr update package.json:
{
"scripts": {
"build": "NODE_OPTIONS='--max-old-space-size=4096' nuxt build"
}
}Error in Vercel dashboard:
Build failed: [some error]
Solutions:
- Check environment variables:
- Vercel Dashboard → Settings → Environment Variables
- Add ALL variables from
.env - Including: DATABASE_URL, API keys, etc.
- Verify build works locally:
npm run buildIf it fails locally, fix errors before deploying.
- Check build logs in Vercel:
- Go to Deployments
- Click failed deployment
- Read full error message
- Check Node version:
In package.json:
{
"engines": {
"node": ">=18.0.0"
}
}Problem: App works locally but fails in production.
Solutions:
- Add DATABASE_URL to Vercel:
- Go to Settings → Environment Variables
- Add:
DATABASE_URL - Value: Your Neon connection string
- Important: Select "Production" environment
- Whitelist Vercel IPs in Neon:
- Some databases restrict IPs
- Check Neon → Settings → Allowed IPs
- Add Vercel's IP ranges (or set to allow all)
- Use connection pooling:
For Neon, use the pooled connection string:
DATABASE_URL=postgres://user:pass@host/db?pgbouncer=true
Problem: Variables work locally but not in production.
Solutions:
- Check variable names match exactly:
# Local .env
NEON_API_KEY=...
# Vercel settings
NEON_API_KEY=... ← Must be EXACTLY the same- Redeploy after adding variables:
vercel --prodChanges to environment variables require redeployment.
- Check environment scopes:
- Production vs. Preview vs. Development
- Make sure variables are set for Production
Message:
nothing to commit, working tree clean
This is fine! It means:
- All changes are already committed
- You're up to date
To check what's committed:
git log --oneline -5Message:
Your branch is behind 'origin/main' by 2 commits
Solution:
# Get latest changes
git pull
# If you have local changes, you may need:
git pull --rebaseError:
CONFLICT (content): Merge conflict in file.js
Solution:
- Open conflicted file
- Look for conflict markers:
<<<<<<< HEAD
Your changes
=======
Their changes
>>>>>>> branch-name- Choose what to keep:
// Remove markers, keep what you want
Your final code here- Mark as resolved:
git add file.js
git commit -m "Resolved merge conflict"Error:
Permission denied (publickey).
fatal: Could not read from remote repository.
Solution:
- Generate SSH key:
ssh-keygen -t ed25519 -C "your_email@example.com"- Add to GitHub:
# Copy your public key
cat ~/.ssh/id_ed25519.pub
# Go to GitHub → Settings → SSH Keys → New SSH Key
# Paste the key- Test connection:
ssh -T git@github.comError:
Agent 'database' failed: [error message]
Solutions:
-
Read the error message - It usually tells you what's wrong
-
Check agent logs:
cat .claude/logs/agent-database.log- Retry the task:
/task-runner --retry failed- Skip and do manually:
/task-runner --skip database-task-1Error:
Agent timed out after 300 seconds
Solutions:
- Increase timeout:
In PROJECT_STARTER.md:
### Agent Configuration
- **Timeout**: `600` ← Increase from 300- Break task into smaller pieces:
- Split large tasks
- Run separately
- Check system resources:
# Memory usage
free -h
# CPU usage
topClose other applications if resources are low.
Solutions:
- Check Lighthouse score:
npx lighthouse http://localhost:3000- Enable production mode locally:
npm run build
npm run preview- Check bundle size:
npm run build
# Look for large bundles- Optimize images:
- Use WebP format
- Compress images
- Use appropriate sizes
- Check database queries:
- Add indexes
- Optimize N+1 queries
- Use query caching
Solutions:
- Clear build cache:
rm -rf .nuxt .next .astro dist
npm run build-
Upgrade to Vite+: Already configured in presets!
-
Use Turbo:
npm install -g turbo
turbo buildError:
Warning: Text content did not match. Server: "X" Client: "Y"
Solution: Ensure server and client render the same content:
Bad:
<template>
<div>{{ Date.now() }}</div>
← Different each render
</template>Good:
<script setup>
const timestamp = ref(null);
onMounted(() => {
timestamp.value = Date.now();
});
</script>
<template>
<div>{{ timestamp }}</div>
</template>Error:
TypeError: Cannot read property 'name' of undefined
Solution: Use optional chaining and nullish coalescing:
Bad:
const name = user.profile.name;Good:
const name = user?.profile?.name ?? 'Guest';Error:
Access to fetch at 'api.example.com' has been blocked by CORS policy
Solution:
In your API server:
// Nuxt server/middleware/cors.ts
export default defineEventHandler((event) => {
setResponseHeaders(event, {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET,POST,PUT,DELETE',
'Access-Control-Allow-Headers': 'Content-Type, Authorization',
});
});- Beginner's Guide - Start here if new
- Quick Start Guide - Preset setup
- Configuration Guide - All options
- Nuxt Walkthrough - Full-stack example
Check if someone else had the same problem:
- GitHub Issues: https://github.com/dylanburkey/claude-code-sidekick/issues
- Search for error message
Claude Code can help debug:
I'm getting this error: [paste error]
Can you help me understand what's wrong?
If you found a bug:
- Go to GitHub repository
- Click "Issues" → "New Issue"
- Include:
- Error message
- What you were trying to do
- Your preset/configuration
- Steps to reproduce
- Discord: [Link if available]
- Stack Overflow: Tag
claude-code-sidekick
# Set debug environment variable
DEBUG=* npm run dev
# Or specific namespaces
DEBUG=claude:* npm run dev# Agent logs
ls -la .claude/logs/
# Application logs
npm run dev 2>&1 | tee debug.log# Check if presets are valid
/quick-start --validate
# Check MCP configuration
/mcp-setup --validate
# Check hooks
/hooks-setup --validate- Always use version control:
git init
git add .
git commit -m "Initial commit"- Never commit .env:
# Verify .env is in .gitignore
grep ".env" .gitignore- Keep dependencies updated:
npm update
npm audit fix- Test before deploying:
npm run build
npm run preview
# Test thoroughly- Use consistent Node version:
# Install nvm
nvm install 18
nvm use 18- Back up your database:
# Export before major changes
npx prisma db pullIf everything is broken:
# 1. Backup your work
cp -r . ../project-backup
# 2. Remove all generated files
rm -rf node_modules .nuxt .next dist .claude/logs
# 3. Reset git (if needed)
git reset --hard HEAD
# 4. Reinstall
npm install
# 5. Rebuild
npm run build
# 6. Restart
npm run dev# If you have a backup
cp -r ../project-backup/* .
npm install
npm run devIf all else fails:
- Save your
PROJECT_STARTER.md - Save any custom code
- Delete project folder
- Follow Getting Started again
- Copy back your custom code
# Check versions
node --version
npm --version
git --version
# Check project status
git status
npm run build
npx prisma validate
# Check logs
tail -f .claude/logs/agent.log
# Check processes
lsof -i :3000
ps aux | grep node
# Check disk space
df -h
# Check memory
free -h# Clear everything and start fresh
rm -rf node_modules package-lock.json .nuxt
npm install
npm run dev
# Reset database
npx prisma migrate reset
npx prisma db seed
# Force redeploy
git commit --allow-empty -m "Force redeploy"
git pushStill stuck? Open an issue with:
- Your error message
- Your configuration
- Steps to reproduce
- What you've tried
We're here to help! 🚀