91³Ô¹ÏÍø

Watch CBS News

Crews locate hiker reported missing on Mt. Tamalpais on Halloween night

A hiker reported missing on Mount Tamalpais on Halloween was located safely early Saturday morning by crews, authorities in Marin County said.

According to , crews were notified by deputies at 11:20 p.m. Friday about a hiker reported missing on the north side of the mountain. Deputies and rangers were unable to find the hiker during what was described as a "hasty" search of the fire roads in the area.

Officials said the hiker was reported missing by his wife, who last heard from him via text around 5:30 p.m. The man said he had been hiking since 2:30 p.m. and made a wrong turn, but said it would take him 90 minutes to get back to his car parked at Rock Springs trailhead.

The hiker said his cellphone battery was also very low. His wife said a "find my phone" app determined that the hiker was near Bon Tempe Dam.

As crews began to plan their search, 35 members of the team responded to the park with e-bikes, an all-terrain vehicle and a drone, focusing on the trail network between Alpine Lake and Rock Springs. The California Highway Patrol responded with an aircraft equipped with a thermal imaging camera.

Search teams were also deployed from Rock Springs and Sky Oaks to cover the area, officials said.

The search continued past 2 a.m., when a ground search team located the hiker above the Kent Trail near Van Wick Creek. Officials said they gave the hiker water and conducted a medical assessment, which found him in "good condition."

mt-tam-halloween-rescue-110125.jpg
Crews locate a hiker on Mount Tamapais in Marin County early on Nov. 1, 2025 after he was reported missing on Halloween. Marin County Search and Rescue

"He was dehydrated and grateful to be found and extricated," Marin Search and Rescue said in a statement.

The hiker told officials that his phone died just before nightfall. He ended up off-trail and fell a couple of times before deciding to stay put for the night.

After his rescue, crews said he was able to walk back to the trailhead with assistance from the search team and a deputy brought him back to his vehicle.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });