Changelog

What’s new with Murph

Seven days of features and improvements from the full Murph archive.

Group chats go live in iMessage

Add Murph to an iMessage group and it just works: it sets itself up, introduces itself with a contact card, and knows when to chime in. Plus overnight memory consolidation, a cleaner family seat flow, and Garmin sync recovery.

New features

Feature

Add Murph to any iMessage group

Start an iMessage group with friends and Murph's number, send one message, and Murph comes alive in the room: it sets up the group's own private runtime, replies to that first message, and everyone in the chat can talk to it.

Inside a group Murph behaves like a participant, not a support desk. It sees who said what, knows when to reply, react, or stay quiet, and plays with shared challenge data without punching down.

iMessage · The boys

added Murph so we can settle the steps debate
Happy to referee. Everyone send me your weekly average, and nobody round up.

Feature

Murph introduces itself to the room

In a group, Murph can check who already has their own Murph and drop its contact card once: a tappable card with its number, so friends without Murph can save it and text in to get set up.

iMessage · Sunday crew

If you don't have me saved yet, that card is me. Shoot me a text and I'll get you set up.
(shared the Murph contact card)

Feature

Murph tidies its memory of you overnight

Three nights a week at 3am, Murph runs an overnight pass that consolidates the last week of conversation into durable memory, so context carries across sessions without you repeating yourself.

Overnight maintenance

Mon3:00amConsolidate the week's context
Wed3:00amFold new facts into memory
Fri3:00amPrune stale threads

Improvements

Improvement

Family seats: one button, honest counts, easy removal

Inviting someone to a full plan now adds the $7/mo seat in the same step with the cost shown up front, the seat count waits for billing to reconcile instead of showing a stale number, and empty seats can be removed.

Family seat flow

Invite & add seat · $7/mo, one step
Seat count reconciles before it renders
Remove empty seats you no longer need

Improvement

Garmin sync recovered from a broken upstream endpoint

One broken optional endpoint at our device-data partner had been failing entire hourly syncs for Garmin connections. Murph now skips just the broken resource, so sleep, activity, and daily timeseries land again.

Improvement

Supplement lookup forgives plurals and typos

Searching Advanced Antioxidant now finds Advanced Antioxidants, creatin monohydrate finds Creatine Monohydrate, and a brand query that matches nothing falls back to normal search instead of coming back empty.

Invite friends into your Murph group

Murph groups get real join links with explicit, bounded health sharing. Plus cleaner Garmin sleep-stage imports and background work that yields to your messages.

New features

Improvements

Improvement

Cleaner Garmin sleep-stage imports

Fixed the compact sleep-cycle import and stopped pulling unrelated records alongside it, so Garmin sleep stages land correctly in the vault.

Improvement

Background maintenance yields to your message

A scheduled background run no longer delays the reply to a message you just sent. Foreground conversation preempts cron work instead of queueing behind it.

Family launches, Pulse Trial gets three more days

Sponsor Murph for the people in your house — 2 to 6 private seats with their own monthly allowance. Pulse Trial now runs 10 days. Murph checks whether a wearable needs reconnect before answering about sleep or recovery, and shares its contact card on first outbound so people can save the number.

New features

Feature

Sponsor Murph for the people in your house

Buy 2 to 6 Family seats at $7 per sponsored person per month. Each sponsored member gets a private account with its own Pulse-level monthly allowance — no shared pool, and the owner can't read their chats, vault, or health data.

Invite by Telegram username, phone, or verified email. Invites consume already-paid seats; creating one never silently adds a Stripe charge.

Family covers

2–6 sponsored seats at $7/mo each
Private accounts — no shared chats or vault
Each member gets their own Pulse allowance
Invite by Telegram, phone, or email

Feature

Murph shares its contact card after the first text

After Murph's first successful direct iMessage in a Linq chat, it best-effort shares the configured contact card so the recipient can save the name and number before the thread fills up.

Only one share attempt every 48 hours per chat, and only when the outbound was real direct iMessage delivery.

iMessage

Got it — I'll text you when the pharmacy opens.
(shared my contact so you can save the number)

Feature

Pulse Trial runs 10 days, not 7

Every new Pulse Trial now lasts 10 days instead of 7. Trials already in flight keep their original length; fresh signups land on the new policy.

Pulse Trial length

7 days10 days

every new trial, no card required

Feature

Ask Murph about red light therapy

Murph now handles red light and photobiomodulation questions with real dose math: it asks for your panel's model and distance, computes session time from matched dose and irradiance data, and keeps claims inside what studies actually show.

iMessage

how long should I sit in front of my red light panel?
Which model, and how far away? Dose falls off fast with distance. I'll do the math from the panel's measured output.

Improvements

Improvement

Murph notices when a wearable needs reconnect before answering

Ask about sleep, recovery, activity, or workouts and Murph now sees which connected source needs reconnect, so it flags the gap and points you to the fix instead of treating the silence as the truth.

iMessage

Why was my sleep so short last night?
Your Garmin hasn't synced since Wednesday — let's reconnect before I read the gap as a bad night.

Improvement

Onboarding keeps talking while it saves your supplements and labs

Slow saves during onboarding — supplement regimens and lab panels — now run in a fresh background subagent so the chat keeps moving instead of stalling while writes finish.

Onboarding mid-write

Stalls on saveKeeps talking

supplements and labs save in background

Improvement

Fresh homepage — new hero, editorial asks, honest trust pillars

Rebuilt the public homepage with a new clock-in hero, an asymmetric editorial layout for the asks-Murph-handles section, and a flat trust band rewritten to match what the security FAQ actually claims.

New on the homepage

Clock-in hero with live voice-memo demo
Editorial asymmetric layout for the asks
Trust band rewritten to match the FAQ
Integrations grid with the Murph mark as hub

Garmin sleep arrives cleanly, and a smoother phone sign-in

Garmin sleep, cycles, and hypnograms now arrive as real records. The phone-number sign-in stops freezing right after the verification code lands. Plus quiet reliability fixes on Linq read receipts and scheduled-reminder wakes.

New features

Feature

Garmin sleep arrives as real records

Garmin sleep, sleep cycles, and hypnograms now land as full records instead of being dropped as skeleton completion events.

Wearables

GarminConnected
WHOOPConnected
OuraConnected

Improvements

Improvement

Phone sign-in no longer freezes after the code

Closed a state bug where the hosted phone-number sign-in could land on a blank step right after the SMS code was accepted.

Improvement

Read receipts came back for active-member Linq chats

Restored the read indicator on inbound Linq messages from active members. Closes a regression where receipts had stopped firing on the active-member webhook path.

Improvement

Scheduled Linq reminders don't fire twice on rewind

A consumed scheduled-reminder wake no longer replays when the cron loop reprocesses the same window. Closed a small path that could deliver the same reminder ping twice.

Scheduled reminder fires

Could replayOnce

on cron rewind

Don't lose real people when the classifier blinks

If the first-contact admission classifier is unavailable, Murph now admits the new contact and sends the normal signup reply instead of silent dead-air. Explicit spam blocks still hold.

Improvements

Improvement

First-contact gate fails open when the classifier is down

Unknown senders now get the normal signup-link reply when the OpenAI admission classifier is unavailable. Deterministic spam blocks, content-filter blocks, and budget exhaustion still gate before any side effects.

iMessage

hey is this Murph? can it help with sleep?
Yes — here's your signup link. (Classifier was offline; we still let real people through.)

Improvement

Weekly health insight finds the actual story

Sunday's recap can now lead with stress patterns and cross-metric meta-patterns when those are the real story, instead of always slotting findings into fixed sleep/activity sections.

iMessage

This week, one pattern stands out

Your worst sleep nights all followed late training — stress regulation, not volume, is the lever.

Murph knows your meds before it answers

Active conditions, allergies, meds, and supplements ride along in Murph's working context so safety-relevant guidance is shaped before the first vault lookup. Image generation can build on photos you sent, progress shots save durably, and Sunday's digest stays quiet when nothing happened.

New features

Feature

Active conditions, meds, and allergies ride in Murph's working context

Murph now sees your active conditions, allergies, medication regimens, and supplement regimens at the top of every turn — sorted by severity, capped on size, and linked to the right vault-cli lookup for deeper detail.

Stopped medications never reappear through a condition's related-regimen link. Absence reads as NKDA, not as missing information.

Pinned for this thread

read each turn
habitActive: lisinopril 10mg, daily
goalAllergy: penicillin (anaphylaxis)
rampCondition: hypertension, active

Feature

Generate images that build on photos you sent

Send Murph a sketch, a product shot, or a style reference and `generate_image` can use it as the basis for the next image instead of asking you to describe it in words.

Up to 16 ordered reference images per call, drawn from the current turn's attachments. JPG, PNG, and WebP only; 2 MiB per image, 32 MiB combined.

iMessage

Use that fridge photo and add fresh produce on the middle shelf

Feature

Progress photos save somewhere you can find them

Skin, posture, wound, and form check-in photos now land in your vault as canonical capture records, so the bytes are still there weeks later when you want to compare a series — instead of expiring with inbox media.

Privacy retention

14-day window
Day 0Send a progress photo
Day 0Saved as a vault capture
Day 90Still there — compare the series

Bytes live in captures, not inbox.

Improvements

Improvement

Sunday digest skips weeks where nothing happened

Murph's Sunday health digest now skips itself when there's no real wearable or experiment movement. If your wearable's quietly broken, it sends one short reconnect note instead of a hollow recap.

iMessage

Your WHOOP hasn't sent data in 8 days — want to reconnect? I'll skip Sunday's recap until then.

Improvement

First-contact gate stops blocking real people

The unknown-sender classifier now lets through anyone who mentions Murph or asks a real Murph question, with a per-contact cap of 4 attempts so transient outages don't permanently silence one person.

When an unknown number texts

Mentions Murph or asks Murph a question → admit
Obvious spam or unrelated → block
Cap of 4 classifier attempts per contact

Improvement

Stop announcing your home line on every message

If you keep replying on the wrong Linq chat, Murph tells you to switch to your home line once per chat — not on every inbound until you finally move.

iMessage

I keep texting the wrong line
We'll talk over at +1 (555) 010-7740. (Told once — not on every reply.)

Improvement

Vault-file sends park durably when approval isn't ready

When a vault-file delivery is missing approval state, the outbox now parks the intent durably and resumes when you approve, instead of churning through pre-provider retries.

Improvement

Hardened the new phone-call path against stale callbacks

Retell now receives call metadata in the fields its API expects, and delayed analysis callbacks can't resurrect a phone call Murph already failed before it started.

Phone-call path

Stale callbacksFail-closed

hardened on the Retell seam

Murph can call you — and the noise level drops everywhere else

Approve a brief and Murph can place an outbound phone call on your behalf. Health records you upload land in your vault, computer handoffs return on the channel that started them, wearable records line up with your calendar, and a wave of polish trims chat noise.

New features

Feature

Murph can place a phone call for you

Approve a call brief and Murph places the outbound call through Retell — pharmacy refills, restaurant reservations, vet check-ins, clinic intake — then drops a clean summary back into chat once the call ends.

Transfer to you only when the brief explicitly allows it. Retell receives just the bounded brief and an opaque call id; transcripts, recordings, and provider bodies are never persisted.

iMessage

Call my pharmacy — is my prescription ready?
Calling now. I'll text you when I hang up.
Pharmacy said your refill is ready, pickup window 9–7. Want me to add a reminder for after work?

Feature

Uploaded health records actually land in your vault

Lab reports, visit summaries, medication lists, function-health panels, imaging reports — Murph now writes them to canonical vault surfaces with raw evidence preserved, instead of stranding them in a chat note.

Large bundles get a fast triage reply, then a non-blocking background parse for the rest. You can stop wondering whether what you sent is actually in your record.

What Murph does with a lab PDF

Save raw evidence to your vault
Extract values into a blood test record
Link relevant conditions and meds
Tell you what stands out

Feature

Onboarding asks for your name like a person would

Murph now asks for your name as freeform text and treats age and a quick gender ask as optional, instead of routing you through a structured form with required fields.

iMessage

What should I call you?
just Sam
Got it, Sam. Age and a quick gender ask are optional — skip either anytime.

Improvements

Improvement

Computer handoffs return to the channel that started them

Finish a browser task that started over text and Murph replies on text. Telegram-origin handoffs return on Telegram. Email-origin handoffs stay in the same email thread instead of opening a fresh compose.

Return where you started

Text-origin handoff → reply on text
Telegram-origin → reply on Telegram
Email-origin → same email thread

Improvement

Wearable days line up with your calendar

Closed a class of bugs where wearable records could drift into the next calendar day when a source timestamp crossed UTC midnight. Past records repair on replay.

Wearable record days

UTC driftLocal day

records line up with your calendar

Improvement

Fewer mid-turn progress updates

At most two non-required progress updates per turn now, spaced apart and only when silence would hurt. Required system notices still bypass the budget.

Mid-turn progress updates

Up to 52 max

spaced apart, only when silence hurts

Improvement

No more pre-provider retry churn on approval gaps

When Murph can't send yet because approval is pending or a config gap exists, the outbox parks the intent before claiming a delivery attempt — no wasted retries, no auto-reply replay.

Pre-provider retries

97 churned attempts0

parked until approval lands

Improvement

Vault-file approvals bind to the exact media Murph sent

Approvals are now consumed atomically against the exact approved media in the model's reply, so stale URLs and replayed retries can't deliver a file you didn't approve.

Improvement

Refreshed copy on welcome, invite, and quota messages

Rewrote the bank of system replies — welcome, invite/signup, daily quota, home-redirect, AI usage notices — for clearer voice and steadier deliverability when many people see the same message.

Refreshed system replies

Welcome & signup
Daily quota
Home-line redirect
AI usage notices

Improvement

Calmer typing indicator on Linq

Linq typing stays alive across an assistant turn without a 2-second keepalive loop. You still see Murph working — just without the high-frequency churn.

Linq typing refresh

Every 2 secPer-turn

no high-frequency keepalive

Improvement

Voice memos with slow CDNs don't get stuck

When a Linq voice memo's audio hasn't fully landed yet, Murph retries briefly then degrades cleanly. No provider URLs, storage paths, or routing labels leak into the model prompt.

Improvement

Device-activity reminders fire for every match

Multiple matching activities in one wearable sync now each queue the configured reminder. The durable listener stays put for next time, instead of being archived after one fire.

iMessage

Did three WHOOP workouts today — all back-to-back
Sent your recovery prompt after each one. Listener stays on for tomorrow.

Improvement

Murph-managed automations spread across the day

Newly created weekly managed automations now seed at vault-deterministic times across a daytime window, instead of every account receiving the same exact send minute.

Improvement

One Reply to Murph button after a handoff

The 'All set' screen after a browser handoff now offers a single Reply to Murph button instead of stacking every channel CTA at the bottom of the page.