diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,6 @@
 # Changelog
 
-## [0.1.22] - 2025-04-04
+## [0.1.23] - 2025-04-04
 
 - Automate release process
 
diff --git a/bin/release b/bin/release
--- a/bin/release
+++ b/bin/release
@@ -447,7 +447,18 @@
 # Step 14: Create and update bottle
 echo "=== Building Homebrew bottle ==="
 echo "Do you want to build a Homebrew bottle for this release? [y/N]"
+
+# Debug input behavior
+echo "Debug: TTY status: $([ -t 0 ] && echo 'Input is from terminal' || echo 'Input is NOT from terminal')" >&2
+echo "Debug: Input source: $(tty 2>/dev/null || echo 'unknown')" >&2
+
+# For debugging, force a delay and make prompt more visible
+echo -e "\033[1;31mWAITING FOR INPUT (y/N):\033[0m" >&2
+sleep 1
+
 read -r bottle_response
+echo "Debug: User entered: '$bottle_response'" >&2
+
 if [[ "$bottle_response" =~ ^[Yy] ]]; then
   # Build bottle directly, no subshell so errors propagate
   echo "Building bottle for clod formula..."
@@ -481,45 +492,63 @@
   echo "Creating bottle file..."
   # Now we can reference the formula by its tap name
   echo "Creating bottle..."
+  
+  # Add explicit flushing to make sure output is visible
+  echo "About to run bottle command" >&2
+  set -x  # Turn on command tracing for debugging
+  
   if ! bottle_output=$(brew bottle --root-url="https://github.com/fuzz/clod/releases/download/v$VERSION" fuzz/tap/clod); then
-    echo "ERROR: Failed to create bottle"
+    echo "ERROR: Failed to create bottle" >&2
     exit 1
   fi
+  
+  set +x  # Turn off command tracing
+  echo "Bottle command completed successfully" >&2
   echo "Bottle output: $bottle_output"
   
   # Extract the bottle file name - be flexible with the pattern to catch different formats
-  bottle_file=$(echo "$bottle_output" | grep -o '[a-zA-Z0-9_/-]*clod[a-zA-Z0-9_/-]*\.bottle\.tar\.gz')
+  echo "Processing bottle command output..." >&2
+  
+  # Print out the complete bottle output for debugging
+  echo "DEBUG: Complete bottle output: " >&2
+  echo "$bottle_output" >&2
+  
+  # Use more basic file detection
+  echo "DEBUG: Trying to find bottle file..." >&2
+  # Extract just the bottle filename directly using sed
+  bottle_file=$(echo "$bottle_output" | sed -n 's/.*\(clod--.*\.tar\.gz\).*/\1/p' | head -1)
+  echo "Extracted bottle file name: $bottle_file" >&2
   echo "Bottle file: $bottle_file"
   
   # Extract the SHA256 from the bottle
-  bottle_sha=$(echo "$bottle_output" | grep -i 'sha256' | grep -o '"[a-f0-9]\+"' | tr -d '"')
+  echo "DEBUG: Extracting SHA256..." >&2
+  sha256_line=$(echo "$bottle_output" | grep -i 'sha256')
+  echo "DEBUG: SHA256 line: $sha256_line" >&2
+  
+  bottle_sha=$(echo "$sha256_line" | grep -o '"[a-f0-9]\+"' | tr -d '"')
+  echo "DEBUG: Extracted SHA256: $bottle_sha" >&2
   echo "Bottle SHA256: $bottle_sha"
   
   # Extract the macOS version (monterey, ventura, sequoia, etc.)
   macos_version=$(echo "$bottle_output" | grep -o 'arm64_[a-z0-9]\+' | head -1 | cut -d'_' -f2)
-  # If we couldn't extract it, use the current OS version as a fallback
-  if [ -z "$macos_version" ]; then
-    macos_version=$(sw_vers -productVersion | cut -d. -f1)
-    case "$macos_version" in
-      14) macos_version="sequoia" ;;
-      13) macos_version="ventura" ;;
-      12) macos_version="monterey" ;;
-      11) macos_version="big_sur" ;;
-      *) macos_version="sonoma" ;; # Default to latest as fallback
-    esac
-  fi
   echo "macOS version: $macos_version"
   
-  if [ -z "$bottle_file" ] || [ -z "$bottle_sha" ] || [ -z "$macos_version" ]; then
-    echo "Error: Could not extract bottle information."
-    echo "Bottle file format may have changed. Please check the actual filename: $bottle_file"
+  # Fail if we can't extract the macOS version
+  if [ -z "$macos_version" ]; then
+    echo "ERROR: Failed to extract macOS version from output"
     exit 1
   fi
   
+  # Note: We already checked each variable individually with better error messages
+  
   # Make sure the bottle file exists
+  echo "Checking if bottle file exists: $bottle_file" >&2
+  ls -la "$bottle_file" >&2 || echo "Bottle file not found" >&2
+  
   if [ ! -f "$bottle_file" ]; then
     echo "ERROR: Bottle file not found: $bottle_file"
-    ls -la
+    echo "Contents of current directory:" >&2
+    ls -la >&2
     exit 1
   fi
   
@@ -530,6 +559,7 @@
   echo "Bottle created successfully: bottles/$bottle_file"
   
   # Check for GitHub CLI and upload bottle
+  echo "===== BEGIN GITHUB UPLOAD SECTION =====" >&2
   echo "Checking for GitHub CLI (gh)..."
   if ! command -v gh &> /dev/null; then
     echo "ERROR: GitHub CLI (gh) not found. Please install it to automate bottle uploads."
@@ -537,8 +567,11 @@
     exit 1
   fi
   
+  echo "==> INTERACTIVE PROMPT: GitHub Upload" >&2
   echo "Do you want to upload bottle to GitHub? [y/N]"
   read -r upload_bottle
+  echo "User response to upload prompt: $upload_bottle" >&2
+  
   if [[ "$upload_bottle" =~ ^[Yy] ]]; then
     echo "Checking if release for v$VERSION exists..."
     if ! gh release view "v$VERSION" &>/dev/null; then
@@ -551,12 +584,35 @@
     
     echo "Bottle uploaded successfully to GitHub release!"
     echo "URL: https://github.com/fuzz/clod/releases/download/v$VERSION/$bottle_file"
+  else
+    echo "Skipping GitHub upload as requested."
   fi
+  echo "===== END GITHUB UPLOAD SECTION =====" >&2
   
   # Update the formula with bottle information
   echo "Updating formula with bottle information..."
   
-  # Update just the bottle SHA - root_url is already updated earlier
+  # Extract rebuild number from the filename if present
+  rebuild_num=$(echo "$bottle_file" | sed -n 's/.*\.bottle\.\([0-9]\+\)\.tar\.gz$/\1/p')
+  
+  # Handle the rebuild directive in the formula
+  if [ -n "$rebuild_num" ]; then
+    echo "Setting rebuild to $rebuild_num based on bottle filename"
+    # If rebuild directive exists, update it
+    if grep -q "^    rebuild " Formula/clod.rb; then
+      sed -i '' "s/^    rebuild [0-9]\+$/    rebuild $rebuild_num/" Formula/clod.rb
+    else
+      # If it doesn't exist, add it after the root_url line
+      sed -i '' "/root_url/a\\
+    rebuild $rebuild_num" Formula/clod.rb
+    fi
+  else
+    echo "No rebuild number in filename, removing rebuild directive if present"
+    # If no rebuild number in filename, remove the rebuild directive if it exists
+    sed -i '' '/^    rebuild [0-9]\+$/d' Formula/clod.rb
+  fi
+  
+  # Update the bottle SHA
   BOTTLE_SHA_TEMPLATE="    sha256 cellar: :any_skip_relocation, arm64_${macos_version}: \"$bottle_sha\" # BOTTLE_SHA256_MARKER"
   
   # Replace the SHA line with the marker
@@ -580,11 +636,30 @@
   read -r test_bottle
   if [[ "$test_bottle" =~ ^[Yy] ]]; then
     echo "Testing bottle installation..."
+    
+    # Show the formula's bottle section for reference
+    echo "Current formula bottle section:"
+    grep -A 5 "bottle do" Formula/clod.rb
+    
+    # Uninstall any existing version
     brew uninstall --force clod 2>/dev/null || true
-    brew install --formula ./Formula/clod.rb
     
+    # Commit changes to ensure the formula being tested reflects our updates
+    git add Formula/clod.rb
+    git commit -m "Update bottle references for version $VERSION" || true
+    
+    # Re-tap the formula to use our latest changes
+    brew untap fuzz/tap 2>/dev/null || true
+    brew tap fuzz/tap "$(pwd)"
+    
+    # Install with debugging
+    echo "Installing from updated formula..."
+    brew install --verbose fuzz/tap/clod 
+    
+    # Show what was installed
     echo "Verifying installation..."
     clod --version
+    brew info clod
     
     echo "Bottle test complete."
   fi
diff --git a/clod.cabal b/clod.cabal
--- a/clod.cabal
+++ b/clod.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.4
 name:                clod
-version:             0.1.22
+version:             0.1.23
 synopsis:            Project file manager for Claude AI integrations
 description:         Clod (Claude Loader) is a utility for preparing and uploading files to Claude AI's 
                      Project Knowledge feature. It tracks file changes, respects .gitignore and .clodignore 
diff --git a/man/clod.1.md b/man/clod.1.md
--- a/man/clod.1.md
+++ b/man/clod.1.md
@@ -1,4 +1,4 @@
-% CLOD(1) Clod 0.1.22
+% CLOD(1) Clod 0.1.23
 % Fuzz Leonard & Claude <ink@fuzz.ink>
 % March 2025
 
diff --git a/man/clod.7.md b/man/clod.7.md
--- a/man/clod.7.md
+++ b/man/clod.7.md
@@ -1,4 +1,4 @@
-% CLOD(7) Clod 0.1.22
+% CLOD(7) Clod 0.1.23
 % Fuzz Leonard & Claude <ink@fuzz.ink>
 % March 2025
 
diff --git a/man/clod.8.md b/man/clod.8.md
--- a/man/clod.8.md
+++ b/man/clod.8.md
@@ -1,4 +1,4 @@
-% CLOD(8) Clod 0.1.22
+% CLOD(8) Clod 0.1.23
 % Fuzz Leonard & Claude <ink@fuzz.ink>
 % March 2025
 
