You can bring Apple Health data into Claude by exporting files from Health.md on your iPhone and uploading them to a conversation. Start with a synthetic sample, then a small range of selected metrics if you choose to share your own records. This is a manual snapshot; later phone exports require another upload.

Get Health.md for iPhone

Health.md includes 5 free export actions, followed by a single lifetime unlock. Manual iPhone export does not require a Mac. You will also need a Claude account for the upload steps.

Before uploading: decide what to share

For the local folder export used in this file-upload workflow, Health.md builds the files on your device, with no Health.md server copy by default. A synced folder follows its provider's rules. The AI provider receives the files you upload and handles them under its own policies and terms.

Review Anthropic's current consumer model-training policy and data-retention information before uploading. Consumer settings, safety review, feedback, and commercial account terms can affect how conversations are used or retained. A dedicated Project organizes files; it does not make an upload local or guarantee immediate deletion from every system.

This guide does not use the separate opt-in, single-owner Health.md Cloud pilot. That pilot retains only API exports intentionally uploaded to it, has no public signup and no automatic device sync, and is not generally available. See the Health.md privacy policy for that destination's boundaries.

Step 1: Export only the data you want to explore

  1. Install Health.md on the iPhone with your Apple Health data and authorize the categories you want to read.
  2. Choose CSV or JSON, Summary, and a known one-day range. Select Steps or Sleep for the first check. Preview the output before saving it to a writable folder in Files.
  3. Keep the original file so you can compare Claude's result with it. For setup, follow your first iPhone export. Once one day checks out, try a short range such as a week.

You get one file per day. CSV uses the header Date,Category,Metric,Value,Unit,Timestamp. The Value column is mixed-type: metadata, capture status, times, booleans, identifiers, and quoted JSON can appear alongside measurements. Ask Claude to filter Category, Metric, and Unit before converting numbers. Some daily summary rows omit the final Timestamp field; a CSV reader should leave that cell empty and preserve quoted commas and newlines.

JSON is a nested daily object with top-level date, schema, and schema_version fields and sections such as activity, heart, and sleep when those have data. It has fields and arrays, not CSV columns. Ask Claude to inspect the fields actually present, including units and time_context, and keep missing values separate from zero.

For this daily-summary exercise, do not mix daily totals with weekly/monthly rollups or detailed samples. Check overlapping re-exports before uploading two files for the same date. Lossless Health Records adds an Apple-only canonical archive; it is not needed for this first summary workflow. See the format reference for the differences.

Step 2: Attach a sample to a Claude chat

Use the synthetic daily CSV or synthetic daily JSON first. Both contain fictional values generated by the exporter, not someone's health records. Save one file to the device where you use Claude.

  1. Open a new Claude conversation.
  2. Use the + button beside the chat box, choose Add files or photos, and select the file. You can also drag a file into the chat window.
  3. Confirm the intended filename is attached before sending the inspection prompt below.

Anthropic lists CSV and JSON as supported document types in its file-upload guide. File, context, and plan limits can change; use a small batch and check that guide if an upload is rejected. A month of daily exports is many files, so do not assume an entire date range fits in one chat upload.

If you prefer to keep a reusable file collection, create a Project and add the exports to its knowledge/files area. Review its visibility and sharing settings before adding personal records. Anthropic documents Projects and project file management; interfaces can differ during its current Projects rollout. Uploading to one chat and adding project knowledge are distinct ways to provide files.

For ChatGPT in this file-upload workflow, start a conversation and attach the export. That shares a snapshot; it does not configure the local CLI/MCP connection linked below.

Step 3: Check the source before asking for trends

Start with this prompt for CSV:

Inspect only the files I attached for this analysis. First list the filenames,
export dates, schema metadata, and units you can actually read. Tell me if any
file could not be read completely. Do not guess missing fields or dates.

Use a CSV-aware parser. Preserve quoted commas/newlines and allow a missing
final Timestamp field. Value is mixed-type: do not convert every row to a number.

For steps, select exactly Category=Activity, Metric=Steps, Unit=count.
For sleep, select exactly Category=Sleep, Metric=Total Duration, Unit=seconds.
Keep metadata, stage rows, samples, and rollups out of these daily totals.

Show a table of Date, Metric, original Value, Unit, and source filename.
Flag duplicate date/metric totals and conversion errors before aggregating.
Do not treat an absent row as zero. Show your calculation for sleep hours.

For JSON, replace the CSV-parsing instructions with: “Inspect the nested daily schema and use the actual fields present, with their units and time context. Show each value's JSON field path and source filename. Keep missing fields separate from zero.” Keep the duplicate, coverage, and calculation checks.

The synthetic CSV's 2026-03-15 summary has 12500 steps and 27900.0 seconds of sleep, or 7.75 hours. Check those values against the file. These are expected source values, not a promise that Claude will calculate or extract them correctly. One sample day cannot establish a weekly trend.

If the output disagrees, stop at that row: ask which file and field produced the answer, inspect the original, and resolve the discrepancy before using any aggregate.

Step 4: Ask a bounded question with evidence

Once the source check passes, upload the intended daily files and ask a question with explicit dates, units, and coverage requirements. For example:

For the calendar range I specify, group the daily step totals by weeks starting
Monday. Show the sum, average over recorded numeric days, count of recorded days,
and which dates have no step row. Identify partial weeks. List each source file
and the daily values used. Do not fill missing days with zero or add duplicates.
If you cannot read every file, say what is missing before calculating.

Replace “the calendar range I specify” with your actual start and end dates. You can ask the same question for daily sleep duration, converting seconds to hours. Health.md assigns a sleep session to the local day it started, so a Monday-to-Tuesday night belongs to Monday. See the sleep export guide for date selection and stage details.

A useful answer separates the exported facts, the arithmetic, and uncertainty. Check totals against the daily source rows; ask for the calculation steps or generated code when available. A chart alone is not verification. For an independent spreadsheet check, use Apple Health to Excel or Apple Health to Google Sheets.

Keep this descriptive: recorded duration, counts, dates, and gaps. AI output can be wrong and does not establish a diagnosis, cause, or treatment recommendation. A small or incomplete dataset should remain visibly incomplete.

Add new dates without counting them twice

New exports do not update a previously uploaded file. Add the intended new files, identify the full date range again, and ask Claude to list the files used. If you re-exported a day, remove or explicitly exclude the superseded copy before recomputing. Never add the old and new daily totals together.

When finished, review files, project access, conversations, and derived reports under the provider's current controls. Removing a project file does not guarantee that text already quoted in a conversation or a downloaded report disappears with it. Consult the retention policy linked above for deletion rules and exceptions.

Troubleshooting and local-query alternative

For the broader choice between files and agent access, see Use Apple Health with Claude, ChatGPT and Codex. For the exported columns and examples, see Apple Health to CSV.