3 ms·
> My personal favorite hooks though are these: "Stop": [ { "hooks": [ { "type": "command", "command": "afplay -v 0.40 /System/Lib
by arach 9mo ago
> My personal favorite hooks though are these:
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "afplay -v 0.40 /System/Library/Sounds/Morse.aiff"
}]}],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "afplay -v 0.35 /System/Library/Sounds/Ping.aiff"
}]}]
These are nice but it's even nicer when Claude is talking when it needs your attention
Easy to implement -> can talk to ElevenLabs or OpenAI and it's a pretty delightful experience
- alkh 9mo agoOmg, this is so great, that you so much! Gonna set up a bunch of A320 warning sounds to scare me in case I am idle for too long :)
- davely 9mo agoHah! I’ve done something similar. I created a bunch of pre-defined voice messages with Eleven Labs and then have a script that randomly calls them via the same hooks. https://github.com/daveschumaker/homebrew-claude-sounds https://github.com/daveschumaker/homebrew-claude-sounds
- arach 9mo agonice, next step is to write a custom function that derives a useful but repeatable message from the hooks and put a little cache in front the Eleven Labs message gen. For example: "In {Project}, Claude needs your permission to run {command}" That way you can stay comfortably in the free plan with awesome voice messages I have a different voice for my laptop compared to my main computer and can also pick per project
- hmartin 9mo agoIf you're on a Mac, it can speak the notification instead for more detail! ``` "hooks": { "Notification": [ { "hooks": [ { "type": "command", "command": "jq '.message' | say" } ] } ] } ```
- arach 9mo agothanks man! I've actually gone a bit further with hooks and speech synthesis https://hooked.arach.dev/ https://hooked.arach.dev/ and https://speakeasy.arach.dev/ https://speakeasy.arach.dev/ - it's a fun setup