Apple Watch open water swim maps missing on Strava
Open Water Swims show no map on Strava — a contradictory HealthKit flag
Spent a year chasing this, so posting what I found.
Symptom
Open water swims recorded with the native Workout app stopped showing a map on Strava about a year ago. Distance, pace and heart rate import fine. No map, tagged "Indoor", shown as a single pool lap. The map is perfect in Apple Fitness, and runs from the same watch import to Strava with maps. Swimming only.
What didn't work
Reinstalled Strava. Revoked and re-granted Health permissions with Workout Routes confirmed on. Unsynced and resynced Health. Two iOS upgrades. Replaced the watch entirely, Ultra 1 to Ultra 3. Made a brand new Strava account and imported the same swim, still no map. No third-party apps have Health access. Unchecking the "Indoor" tag doesn't restore the map either. A friend swam the same session, same water, same day, on an Ultra 2 and his imported with the map.
The cause
I exported my Health data (Health app → profile → Export All Health Data) and read the raw export.xml.
HealthKit stores two separate fields on a swim workout:
- HKSwimmingLocationType — swim-specific. 1 = pool, 2 = open water.
- HKIndoorWorkout — a generic workout-level flag.
My affected swims carry all three of these at once:
- HKSwimmingLocationType = 2 (open water)
- HKIndoorWorkout = 1 (indoor)
- A complete GPS route attached
That record contradicts itself.
Apple Fitness reads HKSwimmingLocationType, sees open water, draws the map. Strava behaves as though it reads HKIndoorWorkout, decides indoor, and skips importing the route that's attached to the workout it just imported. That's also why unchecking "Indoor" does nothing: the route was never imported, so there's nothing to draw.
What the history showed
Across 195 open water swims from 2017 to 2026 the flag used to work. Only 7 pre-2025 swims were flagged indoor and every one had genuinely bad GPS, median 452 seconds to first fix. Each was isolated and the next swim reverted to 0.
On 16 August 2025 a swim with slow GPS got flagged 1 and never went back. The next 25 consecutive swims were all flagged indoor despite GPS locking in about a second. The streak survived the watch replacement and watch software 26.0, 26.1, 26.2 and 27.0.
The part I can't explain
On 11 August 2026 one swim came back with HKIndoorWorkout = 0, the first in twelve months, and the map appeared. Three days later two more swims, both back to 1.
Comparing 11 August against 14 August: same watch, same software, same beach, both locked GPS in 1 second, sample density 58.5 vs 59.1 points per minute, both started by tapping the on-screen control, both with routes attached. Opposite flags. The flag appears non-deterministic. If anyone has a theory I'd like to hear it.
Where this leaves it
Apple — filed in Feedback Assistant: HKIndoorWorkout no longer tracks actual conditions and contradicts both HKSwimmingLocationType and the attached route.
Strava — reported: for swims, HKSwimmingLocationType is the authoritative field, and discarding an attached route because of a flag seems wrong regardless.
You can't fix the data yourself. HealthKit only lets an app modify samples it wrote itself, so nothing can correct a workout the watch created.
Workaround
Export the swim from Health and upload the file to Strava directly.
- HealthFit (paid) exports FIT and keeps heart rate, with auto-upload.
- GPX Export / WorkoutGPX (free) export GPX — route yes, heart rate no.
For old swims, delete the mapless copy on Strava first or the upload is rejected as a duplicate.
How to check if this is you
If a swim is tagged "Indoor" with a single lap and no map on Strava, but shows a map in Apple Fitness, that's almost certainly it. To confirm, export your Health data and look for HKSwimmingLocationType = 2 alongside HKIndoorWorkout = 1 on that workout.
Apple Watch Ultra 3, watchOS 27