Skip to main content
skill CX Codex

grepai-troubleshooting — Claude Code skill: install and use

This skill diagnoses GrepAI failures, from missing indexes and weak search results to Ollama and MCP connection errors.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add yoanbernabeu/grepai-skills --skill grepai-troubleshooting -a claude-code
Open on GitHub

What grepai-troubleshooting does

The skill guides an agent through common GrepAI failures and the checks used to isolate them. It covers version and project status, .grepai/config.yaml, index contents, the watch daemon, and Ollama connectivity through curl http://localhost:11434/api/tags.

Its procedures show how to initialize and rebuild an index with grepai init and grepai watch, restart file watching, inspect ignored files, and tune search or storage settings. Other sections cover symbol tracing, MCP setup, memory pressure, slow searches, and invalid OPENAI_API_KEY values.

GrepAI search requires an index, so grepai init must come before grepai watch. When Ollama is the embedding provider, start it with ollama serve and download nomic-embed-text using ollama pull nomic-embed-text.

What it helps with

  • diagnose empty GrepAI search results
  • recover from a missing project index
  • test Ollama and embedding-model connectivity
  • refresh an outdated watch index
  • inspect MCP and OpenAI API-key failures

Example prompts for the agent

  • Find out why GrepAI returns no matches and run the checks around grepai status.
  • Diagnose the Ollama connection and test http://localhost:11434/api/tags.
  • Investigate why grepai trace callers cannot locate symbols in this project.

How to install grepai-troubleshooting

1Skills CLI (Vercel)

npx skills add yoanbernabeu/grepai-skills --skill grepai-troubleshooting -a claude-code

2Manually: put the files in place

~/.claude/skills/grepai-troubleshooting/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/grepai-troubleshooting/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about grepai-troubleshooting

How do I install grepai-troubleshooting in Claude Code?

Run npx skills add yoanbernabeu/grepai-skills --skill grepai-troubleshooting -a claude-code, then check ~/.claude/skills/grepai-troubleshooting/SKILL.md.

What does grepai-troubleshooting do?

It gives diagnostic procedures for GrepAI problems involving indexes, search quality, Ollama, MCP, configuration, symbol tracing, memory, and OpenAI API keys.

What is required when GrepAI uses Ollama?

Start Ollama with ollama serve, verify the http://localhost:11434 endpoint, and install the embedding model with ollama pull nomic-embed-text.

Source text

SKILL.md · MIT
---
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]
```

© yoanbernabeu · MIT · yoanbernabeu/grepai-skills

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set20

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor