home / skills / yoanbernabeu / grepai-skills / grepai-troubleshooting
This skill guides you through diagnosing and fixing common GrepAI issues, improving search reliability and indexing efficiently.
npx playbooks add skill yoanbernabeu/grepai-skills --skill grepai-troubleshootingReview the files below or copy the command above to add this skill to your agents.
---
name: grepai-troubleshooting
description: Troubleshooting guide for GrepAI. Use this skill to diagnose and fix common issues.
---
# GrepAI Troubleshooting
This skill provides solutions for common GrepAI issues and diagnostic procedures.
## When to Use This Skill
- GrepAI not working as expected
- Search returning poor results
- Index not updating
- Connection or configuration errors
## Quick Diagnostics
Run these commands to understand your setup:
```bash
# Check GrepAI version
grepai version
# Check project status
grepai status
# Check Ollama (if using)
curl http://localhost:11434/api/tags
# Check config
cat .grepai/config.yaml
```
## Common Issues
---
### Issue: "Index not found"
**Symptom:**
```
Error: Index not found. Run 'grepai watch' first.
```
**Cause:** No index has been created for this project.
**Solution:**
```bash
# Initialize if needed
grepai init
# Create the index
grepai watch
```
---
### Issue: "Cannot connect to embedding provider"
**Symptom:**
```
Error: Cannot connect to Ollama at http://localhost:11434
```
**Causes:**
1. Ollama not running
2. Wrong endpoint configured
3. Firewall blocking connection
**Solutions:**
1. Start Ollama:
```bash
ollama serve
```
2. Check endpoint in config:
```yaml
embedder:
endpoint: http://localhost:11434 # Verify this
```
3. Test connection:
```bash
curl http://localhost:11434/api/tags
```
---
### Issue: "Model not found"
**Symptom:**
```
Error: Model 'nomic-embed-text' not found
```
**Cause:** The embedding model hasn't been downloaded.
**Solution:**
```bash
# Download the model
ollama pull nomic-embed-text
# Verify
ollama list
```
---
### Issue: Search returns no results
**Symptom:** Searches return empty or very few results.
**Causes:**
1. Index is empty
2. Files are being ignored
3. Query too specific
**Solutions:**
1. Check index status:
```bash
grepai status
# Should show files > 0 and chunks > 0
```
2. Verify files are being indexed:
```bash
# Check ignore patterns in config
cat .grepai/config.yaml | grep -A 20 "ignore:"
```
3. Try broader query:
```bash
grepai search "function" # Very broad test
```
---
### Issue: Search returns irrelevant results
**Symptom:** Results don't match what you're looking for.
**Causes:**
1. Query too vague
2. Boosting not configured
3. Wrong content indexed
**Solutions:**
1. Improve query (see `grepai-search-tips` skill):
```bash
# Bad
grepai search "auth"
# Good
grepai search "user authentication middleware"
```
2. Configure boosting to penalize tests:
```yaml
search:
boost:
enabled: true
penalties:
- pattern: /tests/
factor: 0.5
```
3. Check what's indexed:
```bash
grepai status
```
---
### Issue: Index is outdated
**Symptom:** Recent file changes aren't appearing in search results.
**Causes:**
1. Watch daemon not running
2. Debounce delay
3. File not in indexed extensions
**Solutions:**
1. Check daemon status:
```bash
grepai watch --status
```
2. Restart daemon:
```bash
grepai watch --stop
grepai watch --background
```
3. Force re-index:
```bash
rm .grepai/index.gob
grepai watch
```
---
### Issue: "Config not found"
**Symptom:**
```
Error: Config file not found at .grepai/config.yaml
```
**Cause:** GrepAI not initialized in this directory.
**Solution:**
```bash
grepai init
```
---
### Issue: Slow indexing
**Symptom:** Initial indexing takes very long.
**Causes:**
1. Large codebase
2. Slow embedding provider
3. Not enough ignore patterns
**Solutions:**
1. Add ignore patterns:
```yaml
ignore:
- node_modules
- vendor
- dist
- build
- "*.min.js"
```
2. Use faster model:
```yaml
embedder:
model: nomic-embed-text # Smaller, faster
```
3. Use OpenAI for speed (if privacy allows):
```yaml
embedder:
provider: openai
model: text-embedding-3-small
parallelism: 8
```
---
### Issue: Slow searches
**Symptom:** Search queries take several seconds.
**Causes:**
1. Very large index
2. GOB storage on large codebase
3. Embedding provider slow
**Solutions:**
1. Check index size:
```bash
ls -lh .grepai/index.gob
```
2. For large indices, use Qdrant:
```yaml
store:
backend: qdrant
```
3. Limit results:
```bash
grepai search "query" --limit 5
```
---
### Issue: Trace not finding symbols
**Symptom:** `grepai trace callers` returns no results.
**Causes:**
1. Function name spelled wrong
2. Language not enabled for trace
3. Symbols index out of date
**Solutions:**
1. Check exact function name (case-sensitive)
2. Enable language in config:
```yaml
trace:
enabled_languages:
- .go
- .js
- .ts
```
3. Re-build symbol index:
```bash
rm .grepai/symbols.gob
grepai watch
```
---
### Issue: MCP not working
**Symptom:** AI assistant can't use GrepAI tools.
**Causes:**
1. MCP config incorrect
2. GrepAI not in PATH
3. Working directory wrong
**Solutions:**
1. Test MCP server manually:
```bash
grepai mcp-serve
```
2. Check GrepAI is in PATH:
```bash
which grepai
```
3. Verify MCP config:
```bash
# Claude Code
cat ~/.claude/mcp.json
# Cursor
cat .cursor/mcp.json
```
---
### Issue: Out of memory
**Symptom:** GrepAI crashes or system becomes slow.
**Causes:**
1. Large embedding model
2. Very large index in GOB format
3. Too many parallel requests
**Solutions:**
1. Use smaller model:
```yaml
embedder:
model: nomic-embed-text # Smaller
```
2. Use PostgreSQL or Qdrant instead of GOB
3. Reduce parallelism:
```yaml
embedder:
parallelism: 2
```
---
### Issue: API key errors (OpenAI)
**Symptom:**
```
Error: 401 Unauthorized - Invalid API key
```
**Solutions:**
1. Check environment variable:
```bash
echo $OPENAI_API_KEY
```
2. Ensure variable is exported:
```bash
export OPENAI_API_KEY="sk-..."
```
3. Check key format in config:
```yaml
embedder:
api_key: ${OPENAI_API_KEY} # Uses env var
```
---
## Diagnostic Commands
### Full System Check
```bash
#!/bin/bash
echo "=== GrepAI Diagnostics ==="
echo -e "\n1. Version:"
grepai version
echo -e "\n2. Status:"
grepai status
echo -e "\n3. Config:"
cat .grepai/config.yaml 2>/dev/null || echo "No config found"
echo -e "\n4. Index files:"
ls -la .grepai/ 2>/dev/null || echo "No .grepai directory"
echo -e "\n5. Ollama (if using):"
curl -s http://localhost:11434/api/tags | head -5 || echo "Ollama not responding"
echo -e "\n6. Daemon:"
grepai watch --status 2>/dev/null || echo "Daemon not running"
```
### Reset Everything
If all else fails, complete reset:
```bash
# Remove all GrepAI data
rm -rf .grepai
# Re-initialize
grepai init
# Start fresh index
grepai watch
```
## Getting Help
If issues persist:
1. Check GrepAI documentation: https://yoanbernabeu.github.io/grepai/
2. Search issues: https://github.com/yoanbernabeu/grepai/issues
3. Create new issue with:
- GrepAI version (`grepai version`)
- OS and architecture
- Config file (remove secrets)
- Error message
- Steps to reproduce
## Output Format
Diagnostic summary:
```
š GrepAI Diagnostics
Version: 0.24.0
Project: /path/to/project
ā
Config: Found (.grepai/config.yaml)
ā
Index: 245 files, 1,234 chunks
ā
Embedder: Ollama (connected)
ā
Daemon: Running (PID 12345)
ā Issue: [Description if any]
Recommended actions:
1. [Action item]
2. [Action item]
```
This skill is a practical troubleshooting guide for GrepAI that helps diagnose and fix common installation, indexing, embedding, and search issues. It provides step-by-step commands, likely causes, and targeted solutions to get GrepAI back to a usable state. Use it to speed up recovery from configuration, connectivity, or performance problems.
The skill inspects common failure points: index presence and status, embedding provider connectivity (Ollama or OpenAI), configuration files, daemon/watch state, and symbol indexes. It recommends concrete CLI checks and corrective commands such as grepai init, grepai watch, ollama serve, model pulls, and index rebuild steps. It also includes diagnostic scripts and reset instructions for full recovery.
What if grepai watch is stuck or the daemon won't start?
Check grepai watch --status, stop the daemon with grepai watch --stop and restart with grepai watch --background; if issues persist, remove .grepai/index.gob and rebuild.
How do I fix a 401 Unauthorized OpenAI error?
Confirm OPENAI_API_KEY is exported in your environment, verify echo $OPENAI_API_KEY, and ensure the config references the env var (embedder.api_key: ${OPENAI_API_KEY}).