Skip to content

STT SessionStart hook missing '|| true' causes Claude Code startup error #2

@Kyotani-Hub

Description

@Kyotani-Hub

Bug Description

The STT plugin's SessionStart hook in stt/hooks/hooks.json is missing the || true fallback that the TTS plugin has. When the STT dependencies are not installed (e.g., before running setup), the hook returns a nonzero exit code, causing Claude Code to display a SessionStart:startup hook error on every session start.

Steps to Reproduce

  1. Enable the elevenlabs-stt plugin in Claude Code
  2. Do NOT run /elevenlabs-stt:setup (dependencies not installed)
  3. Start a new Claude Code session
  4. Observe: SessionStart:startup hook error is displayed

Expected Behavior

The hook should fail silently (like the TTS plugin does), since it's expected that the daemon may not be set up yet.

Root Cause

STT (stt/hooks/hooks.json):

"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/exec.py -m elevenlabs_stt.daemon start --background 2>/dev/null || python ${CLAUDE_PLUGIN_ROOT}/scripts/exec.py -m elevenlabs_stt.daemon start --background"

TTS (tts/hooks/hooks.json):

"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/exec.py -m elevenlabs_tts.daemon start --background 2>/dev/null || python ${CLAUDE_PLUGIN_ROOT}/scripts/exec.py -m elevenlabs_tts.daemon start --background 2>/dev/null || true"

The TTS hook ends with 2>/dev/null || true, ensuring it always returns exit code 0. The STT hook is missing both the 2>/dev/null on the second fallback and the || true.

Suggested Fix

Add 2>/dev/null || true to the end of the STT SessionStart hook command, matching the TTS plugin's pattern.

Environment

  • Claude Code v2.1.92
  • Windows 11
  • Python 3.13

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions