Airsc is free for everyone. If it helps you, support it with $2–$20.

Support
PluginSafeAgent workflow & memoryBeginner friendly

cc-hooks

husniadil · husniadil/cc-hooks

cc-hooks adds intelligent audio feedback, multilingual TTS announcements, and contextual AI messages to Claude Code for an enhanced coding experience.

Audio feedback plugin for Claude Code with TTS announcements, sound effects, and contextual AI messages. Supports multiple providers and languages.

19 stars4License: MITUpdated 9 months ago0 opens

Preview

▍

What you can do with it

  • Receive audio notifications when Claude Code starts or completes a task.
  • Get context-aware voice feedback on code implementation and progress.
  • Customize sound effects and TTS providers for a personalized coding environment.

Safety check

Safe

No risky patterns found in the files we scanned.

Automated scan of the repo files. Always review code you run.

From the README

cc-hooks

Give Claude Code a voice! Transform your coding experience with intelligent audio feedback, multilingual TTS announcements, and AI-powered contextual messages.

Why cc-hooks?

Working with Claude Code is powerful, but it can feel silent and disconnected. cc-hooks brings your coding sessions to life:

  • 🎯 Stay in the flow - Audio cues keep you informed without breaking focus
  • 🔊 Instant feedback - Know when tools start, complete, or when Claude needs your attention
  • 🗣️ Smart announcements - Context-aware messages that understand what you're working on
  • 🌍 Your language - TTS support for multiple languages (English, Indonesian, Spanish, and more)
  • ⚡ Zero config - Works out of the box, customize when you need it
  • 🎛️ Flexible control - From complete silence to premium AI voices, you choose

Quick Demo

Watch cc-hooks in action with premium ElevenLabs text-to-speech

Features

🎵 Audio Feedback System

  • Sound effects for different events (tool execution, notifications, completions)
  • Voice announcements for session lifecycle and task completions
  • Multiple TTS providers: Prerecorded sounds (offline), Google TTS (free), ElevenLabs (premium)
  • Smart fallback chain - automatically tries next provider if one fails

🤖 AI-Powered Intelligence (Optional)

  • Contextual completion messages - "I've successfully implemented the authentication system you requested"
  • Smart tool announcements - Understands what Claude is doing and why
  • Automatic translation - AI messages in your preferred language
  • Cost optimized - Disabled by default, enable per session when needed

⚙️ Advanced Capabilities

  • Multi-instance support - Run multiple Claude sessions with different audio configs
  • Granular silent modes - Disable just announcements or just sound effects
  • Per-session configuration - Change settings without editing config files
  • Auto-cleanup - Smart session management prevents resource leaks
  • Status line integration - See current session info in Claude Code UI

Installation

Choose Your Installation Mode

FeaturePlugin Mode ⭐ RecommendedStandalone Mode
Setup Complexity✅ Simple (3 commands)⚠️ Manual hooks configuration
Updates✅ One command⚠️ Git pull + restart
Slash Commands✅ Built-in❌ Not available
Hooks Config✅ Automatic⚠️ Manual (settings.json)
Installation PathFixed location✅ User-defined
For Contributors⚠️ Limited✅ Full source access
Recommended forMost usersDevelopers, testers

→ Continue with Plugin Installation | → Standalone Installation


Plugin Installation (Recommended)

Prerequisites

  • Python 3.12+ (recommended: 3.12.7)
  • uv package manager
  • Claude Code CLI installed

Quick Install

Option 1: CLI (Recommended - No REPL needed)

# Add marketplace
claude plugin marketplace add https://github.com/husniadil/cc-hooks.git

# Install plugin
claude plugin install cc-hooks-plugin@cc-hooks-plugin

# Done! Start Claude to use
claude

Option 2: Inside Claude REPL

# Start Claude first
claude

# Then in the REPL:
/plugin marketplace add https://github.com/husniadil/cc-hooks.git
/plugin install cc-hooks-plugin@cc-hooks-plugin

# Restart Claude Code

Start using! Audio feedback works immediately with default prerecorded sounds. 🎉

Post-Installation Setup (Recommended)

After installation, use the interactive setup wizard:

# Inside Claude REPL
/cc-hooks-plugin:setup

This wizard helps you:

  • ✅ Check system requirements (uv installation)
  • ✅ Set up convenient shell aliases (cld command)
  • ✅ Configure status line
  • ✅ Set up API keys for premium features
  • ✅ Choose preset configurations
  • ✅ Test your installation

Quick setup modes:

/cc-hooks-plugin:setup check    # Check requirements and config only
/cc-hooks-plugin:setup apikeys  # Focus on API key setup
/cc-hooks-plugin:setup test     # Run installation tests

Status Line Setup (Optional)

The plugin includes a status line feature that shows session info in Claude Code UI. This is not configured automatically and requires manual setup in ~/.claude/settings.json:

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  // ...
  "statusLine": {
    "type": "command",
    "command": "uv run ~/.claude/plugins/marketplaces/cc-hooks-plugin/status-lines/status_line.py"
  }
}

Benefits:

  • Shows current TTS provider, language, and AI mode
  • Displays session info at a glance
  • Real-time status updates

Usage

Quick Start

Automated Setup (Easiest):

# Inside Claude REPL
/cc-hooks-plugin:setup

Manual Setup:

Add shell alias to your .bashrc or .zshrc:

alias cld='~/.claude/plugins/marketplaces/cc-hooks-plugin/claude.sh'

Then reload: source ~/.bashrc or source ~/.zshrc

Usage Examples

# Default: prerecorded sounds (offline, no config needed)
cld

# Google TTS in Indonesian
cld --audio=gtts --language=id

# Premium ElevenLabs voice
cld --audio=elevenlabs

# With AI-powered contextual messages
cld --audio=gtts --ai=full --language=id

# Silent mode for meetings
cld --silent

Configuration

CLI Flags Reference

Audio Providers

cld --audio=prerecorded  # Offline sounds (default, no API key)
cld --audio=gtts         # Google TTS (free, requires internet)
cld --audio=elevenlabs   # Premium quality (requires API key)

| Pro

View source on GitHub