Claude Code Tips

Here is some setup I find particular useful.

1. bypass permissions

Skips all permission prompts (requires safe environment - see warning below)

~/.claude/settings.json

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "permissions": {
    "allow": [],
    "deny": [],
    "defaultMode": "bypassPermissions"
  }
}

2. setup notification (Hook)

It's very useful to have some sort of notification when claude code stop.

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "hooks": {
    "Stop": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "afplay /System/Library/Sounds/Blow.aiff"
          }
        ]
      }
    ],
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/notify.sh"
          }
        ]
      }
    ]
  }
}

notify.sh

#!/bin/bash

# Simple Mac notification script
# Usage: ./notify.sh "Title" "Message" [sound]

TITLE="${1:-Claude Code}"
MESSAGE="${2:-Task completed}"
SOUND="${3:-Purr}"

# Use terminal-notifier if available (better UI), fallback to osascript
if command -v terminal-notifier &> /dev/null; then
    terminal-notifier -title "$TITLE" -message "$MESSAGE" -sound "$SOUND"
else
    # Alternative AppleScript approach with subtitle for better visibility
    osascript -e "display notification \"$MESSAGE\" with title \"$TITLE\" subtitle \"Claude Code Hook\" sound name \"$SOUND\""
fi

3. Run parallel sessions with worktree

# Create a new worktree with a new branch 
git worktree add ../project-feature-a -b feature-a

For example, assume you have a github repo called cue-app and it's current on main branch,

cd cue-app/
git worktree add ../cue-app-tree -b tree-main

It will create a new folder cue-app-tree with a branch named tree-main checkout. So it will looks like,

  • cue-app/ -> main branch
  • cue-app-tree/ -> tree-main branch

The main benefit is that worktree share branches, you can switch branch among worktree folder as long as the branch is not checkout.

Resources