Skills Development Collect Windsurf Diagnostic Data Bundle

Collect Windsurf Diagnostic Data Bundle

v20260423
windsurf-debug-bundle
This comprehensive bundle collects all necessary diagnostic information for troubleshooting and creating support tickets for Windsurf. It gathers environment details, redacted configuration files, activity logs, and workspace health into a single, compressed archive. Use this tool when encountering persistent bugs or when technical support requires deep system analysis.
Get Skill
289 downloads
Overview

Windsurf Debug Bundle

Current State

!windsurf --version 2>/dev/null || echo 'Windsurf CLI not in PATH' !node --version 2>/dev/null || echo 'N/A' !uname -a

Overview

Collect all diagnostic information needed to troubleshoot Windsurf issues or submit effective support tickets.

Prerequisites

  • Windsurf installed (even if malfunctioning)
  • Terminal access
  • Permission to read Windsurf config directories

Instructions

Step 1: Collect Windsurf Configuration State

#!/bin/bash
set -euo pipefail

BUNDLE="windsurf-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE"/{config,logs,workspace}

echo "=== Windsurf Debug Bundle ===" > "$BUNDLE/summary.txt"
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "$BUNDLE/summary.txt"

# 1. Windsurf version and environment
echo "--- Environment ---" >> "$BUNDLE/summary.txt"
windsurf --version >> "$BUNDLE/summary.txt" 2>&1 || echo "windsurf CLI not found" >> "$BUNDLE/summary.txt"
node --version >> "$BUNDLE/summary.txt" 2>&1
echo "OS: $(uname -srm)" >> "$BUNDLE/summary.txt"

# 2. Codeium config (redacted)
echo "--- Codeium Config ---" >> "$BUNDLE/summary.txt"
ls -la ~/.codeium/ >> "$BUNDLE/config/codeium-dir.txt" 2>&1 || echo "No ~/.codeium/" >> "$BUNDLE/config/codeium-dir.txt"

# 3. MCP server config (redacted)
if [ -f ~/.codeium/windsurf/mcp_config.json ]; then
  sed 's/"[A-Za-z0-9_-]\{20,\}"/"***REDACTED***"/g' ~/.codeium/windsurf/mcp_config.json > "$BUNDLE/config/mcp-config-redacted.json"
fi

# 4. Workspace config
cp .windsurfrules "$BUNDLE/workspace/" 2>/dev/null || true
cp .codeiumignore "$BUNDLE/workspace/" 2>/dev/null || true
ls -la .windsurf/ >> "$BUNDLE/workspace/windsurf-dir.txt" 2>/dev/null || true
ls -la .windsurf/rules/ >> "$BUNDLE/workspace/rules-dir.txt" 2>/dev/null || true

# 5. Extension list
windsurf --list-extensions > "$BUNDLE/config/extensions.txt" 2>/dev/null || echo "Cannot list extensions" > "$BUNDLE/config/extensions.txt"

Step 2: Collect Logs

# Windsurf logs location varies by OS:
# macOS: ~/Library/Application Support/Windsurf/logs/
# Linux: ~/.config/Windsurf/logs/
# Windows: %APPDATA%/Windsurf/logs/

LOG_DIR="${HOME}/.config/Windsurf/logs"
[ -d "$LOG_DIR" ] || LOG_DIR="${HOME}/Library/Application Support/Windsurf/logs"

if [ -d "$LOG_DIR" ]; then
  # Copy last 1000 lines of each log (redacted)
  for log in "$LOG_DIR"/*.log; do
    tail -1000 "$log" 2>/dev/null | sed 's/Bearer [^ ]*/Bearer ***REDACTED***/g' > "$BUNDLE/logs/$(basename "$log")"
  done
fi

# Codeium-specific logs
if [ -d ~/.codeium/windsurf/logs ]; then
  cp ~/.codeium/windsurf/logs/*.log "$BUNDLE/logs/" 2>/dev/null || true
fi

Step 3: Check Workspace Health

# Workspace analysis
echo "--- Workspace Health ---" >> "$BUNDLE/summary.txt"
echo "File count: $(find . -type f -not -path '*/node_modules/*' -not -path '*/.git/*' | wc -l)" >> "$BUNDLE/summary.txt"
echo "Has .windsurfrules: $([ -f .windsurfrules ] && echo 'YES' || echo 'NO')" >> "$BUNDLE/summary.txt"
echo "Has .codeiumignore: $([ -f .codeiumignore ] && echo 'YES' || echo 'NO')" >> "$BUNDLE/summary.txt"
echo "Has .windsurf/rules/: $([ -d .windsurf/rules ] && echo 'YES' || echo 'NO')" >> "$BUNDLE/summary.txt"

# Check for common issues
if [ ! -f .codeiumignore ] && [ -d node_modules ]; then
  echo "WARNING: No .codeiumignore but node_modules exists -- indexing will be slow" >> "$BUNDLE/summary.txt"
fi

Step 4: Package and Submit

tar -czf "$BUNDLE.tar.gz" "$BUNDLE"
echo "Debug bundle created: $BUNDLE.tar.gz"
echo "Review for sensitive data before submitting to support."

Support Ticket Template

## Windsurf Support Request

**Windsurf Version:** [from debug bundle]
**OS:** [macOS/Linux/Windows + version]
**Plan:** [Free/Pro/Teams/Enterprise]

### Issue
[One paragraph description]

### Steps to Reproduce
1. [Step 1]
2. [Step 2]

### Expected vs Actual
- Expected: [behavior]
- Actual: [behavior]

### Attachments
- [ ] Debug bundle (windsurf-debug-*.tar.gz)
- [ ] Screenshot of error (if visual)
- [ ] Relevant .windsurfrules (if context-related)

### Already Tried
- [ ] Restart Cascade
- [ ] Reload Window
- [ ] Reset Indexing
- [ ] Disable conflicting extensions

Error Handling

Item Purpose Included
Windsurf version Compatibility check Yes
Extension list Conflict detection Yes
Workspace config Context issues Yes
Log files (redacted) Error analysis Yes
MCP config (redacted) Integration issues Yes

Examples

ALWAYS REDACT

  • API keys and tokens
  • Passwords and secrets
  • Personal file paths (replace with ~/)
  • Customer data

Quick Single-Command Health Check

echo "Windsurf: $(windsurf --version 2>/dev/null || echo 'N/A')" && \
echo "Rules: $([ -f .windsurfrules ] && wc -c < .windsurfrules || echo 'none')" && \
echo "Ignore: $([ -f .codeiumignore ] && wc -l < .codeiumignore || echo 'none')"

Resources

Next Steps

For rate limit issues, see windsurf-rate-limits.

Info
Category Development
Name windsurf-debug-bundle
Version v20260423
Size 5.65KB
Updated At 2026-04-28
Language