Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Collect ElevenLabs debug evidence for support tickets and troubleshooting. Use when encountering persistent issues, preparing a support ticket, or gathering diagnostic information (SDK version, API connectivity, quota, voice inventory, model availability) for an ElevenLabs problem, with secrets redacted automatically. Trigger with "elevenlabs debug", "elevenlabs support bundle", "collect elevenlabs logs", "elevenlabs diagnostic", "elevenlabs support ticket".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | -11% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 24% | 0% |
Collect all diagnostic information needed for ElevenLabs support tickets. Gathers SDK version, API connectivity (HTTP status, DNS, TLS), quota status, voice inventory, and model availability into a single archive while redacting all secrets before anything touches disk.
Two collection paths are available and produce equivalent evidence: a shell script (no code dependency — good for servers and CI) and a programmatic TypeScript collector (good when the app already imports the SDK). The full, ready-to-run source for both lives in references/implementation.md; this file is the high-level workflow.
jq available (used by the shell script to format API responses)The workflow is three steps: run a collector, review the output for stray secrets, then attach it to a support ticket. Follow the summary here and open references/implementation.md for the complete scripts.
Shell path — the script writes each section to summary.txt, redacts secrets, then tars and removes the working directory. The skeleton:
bash#!/bin/bash # elevenlabs-debug-bundle.sh set -euo pipefail BUNDLE_DIR="elevenlabs-debug-$(date +%Y%m%d-%H%M%S)" mkdir -p "$BUNDLE_DIR" # ... collect environment, SDK versions, connectivity, quota, voices, models ... tar -czf "$BUNDLE_DIR.tar.gz" "$BUNDLE_DIR" && rm -rf "$BUNDLE_DIR" echo "Bundle created: $BUNDLE_DIR.tar.gz"
Programmatic path — build a structured DebugReport when the SDK is already a dependency. Each section is wrapped independently so one failure still returns a partial report:
typescriptconst report = await collectDebugReport(); console.log(JSON.stringify(report, null, 2));
Full source for both, including the connectivity/TLS probes and quota/voice/model collectors: references/implementation.md.
Inspect the archive before sharing — API keys, webhook secrets, and any .env value are redacted automatically, but confirm nothing sensitive slipped into an error log or stack trace.
Open a ticket at https://help.elevenlabs.io, attach the bundle, and describe what you expected, what happened, steps to reproduce, and any request IDs from error responses.
elevenlabs-debug-YYYYMMDD-HHMMSS.tar.gz archive containing:summary.txt — Environment, SDK, connectivity, quota, voices, modelsconfig-redacted.txt — Configuration with secrets maskederrors.txt — Recent error logs with API keys redactedAlways redacted automatically:
***REDACTED***)= in .env filesSafe to include:
| Issue | Cause | Solution | |-------|-------|----------| | jq: command not found | jq not installed | apt install jq or brew install jq | | HTTP 0 / curl fails | Network issue | Check DNS and firewall | | HTTP 401 | Bad API key | Regenerate key at elevenlabs.io | | Empty voice list | No voices on account | Normal for new free accounts |
A healthy shell run produces a masked summary.txt whose top signals are HTTP 200, TLS valid: yes, and character_count under character_limit:
console$ bash elevenlabs-debug-bundle.sh Bundle created: elevenlabs-debug-20260717-143022.tar.gz Review for sensitive data before sharing with support.
The programmatic collector returns the same evidence as JSON — an empty errors array with connectivity.status: 200 is healthy, while "errors": ["Voices: 429 Too Many Requests"] alongside connectivity.status: 200 isolates a rate-limit on one endpoint:
json{ "connectivity": { "status": 200, "latencyMs": 214 }, "voices": { "total": 12, "cloned": 3, "premade": 9 }, "errors": [] }
Worked runs for a healthy account, a 401 bad key, and the full JSON report: references/examples.md.
For rate limit issues, see elevenlabs-rate-limits. For common errors, see elevenlabs-common-errors.
Other measured skills in the registry, with their headline benchmark lift.