Changelog

Updates that affect how you use IcuSync with Claude.

New tools available. To get the latest tools, click the three-dot menu next to IcuSync in your Claude Customize settings and select Refresh tools list, then start a fresh conversation. If that does not work, disconnect and reconnect instead.

24 Jun 2026

  • Updated get_power_curves to support durability ("after kJ") power curves. You can now ask for your power curve after a set amount of accumulated work, for example "show my power curve after 1000 kJ over the last 90 days", to see how your power holds up in a fatigued state and track durability over time. First set one or both "? kJ" thresholds on your Intervals.icu power curve page (click a "? kJ" label on the chart, enter a value such as 1000, wait for it to compute, then tick the box). The tool reads those configured thresholds and returns the work level alongside each curve. Requires ride activities with power data.

23 Jun 2026

  • Direct Intervals.icu coach mode now works via API key. If you already coach athletes on Intervals.icu, go to Coach Access in your IcuSync dashboard, enter your Intervals.icu API key (found under Intervals.icu Settings → API Key), and save. IcuSync verifies the key against your coached athlete list and activates coach mode automatically. Claude will then see all your coached athletes with no setup required on their end. All 15 tools are available for every athlete. The earlier approach of connecting via OAuth for coach access did not work due to a privacy restriction in the Intervals.icu API: OAuth tokens are locked to the authenticated user's own data and cannot access coached athletes. The API key approach does not have this restriction.

    Update: following community feedback, coaches must now confirm they have informed their athletes before activating coach mode. Athletes also receive an automatic notification email when a coach activates access. The privacy policy and terms have been updated to cover coach access explicitly.

16 Jun 2026

  • Added update_activity to write post-activity data back to intervals.icu. After a session, ask Claude to log how many grams of carbs you consumed, how the effort felt (feel score and RPE), which shoes or bike you used, or any values for custom Activity Fields you have configured in intervals.icu (e.g. lactate, pain scores, test results). Only the fields you provide are changed; everything else is left untouched. Strava-sourced activities cannot be updated via the API and must be edited directly in intervals.icu.

14 Jun 2026

  • Pace ranges, watt ranges, and HR zone ranges now pass through directly to intervals.icu instead of being collapsed to a midpoint. When you ask Claude to push a workout with a range like 5:30/km–6:00/km or 240–260w, Garmin will show exactly that window rather than a single midpoint value matched to the nearest zone. If you want a midpoint, just ask Claude to calculate one before pushing.
  • Custom Activity Fields are now included in get_extended_metrics. Any fields you have configured in intervals.icu Settings → Activity Fields (e.g. lactate, RPE, pain scores, lab test results) now appear in the response alongside sensor streams, so Claude can factor them into analysis.
  • Updated push_workout and edit_workout to support two new fields visible in the intervals.icu calendar entry dialog: carbs_per_hour (CHO/h fueling target in grams per hour) and load_target (planned training load). Both fields are also now returned by get_events.

8 Jun 2026

  • Gear is now visible to Claude. The bike, shoes, or other equipment logged against an activity in intervals.icu is now returned by both get_activity_detail and get_training_history. Claude can use this to distinguish rides done on different bikes (road, TT, MTB, gravel) and factor equipment into analysis and comparisons.
  • Manually added intervals are now correctly identified. Intervals you add yourself in the interval editor have no group_id, while auto-detected intervals always belong to a group. Claude uses this to set interval_source to manually_added, auto_generated, mixed, or device_laps. Interval groups are also now visible with aggregate metrics per group (count, duration, average power, average HR).

5 Jun 2026

  • Sport settings validation added to get_athlete_profile. At the start of every session Claude now checks whether your configured sports have the threshold values and training zones needed for accurate analysis. The check is sport-aware: it only validates sports you have actually set up in intervals.icu, so a runner will never see a cycling warning and a cyclist will never see a swim warning. If something is missing, Claude will surface the specific fix steps before proceeding.
  • Threshold accuracy check added. When asking for a training plan or performance analysis, Claude now cross-references your configured thresholds against your actual recorded efforts. For cyclists, it compares your FTP against recent peak power data. For runners, it compares your threshold pace against recent race efforts, and your Critical Power against recent power curve data if you train by power. For swimmers, it compares your threshold pace against recent best efforts. If your settings appear significantly out of date, Claude will flag the specific value and tell you exactly where to update it. This check only runs when relevant and is skipped for simple data lookups.

3 Jun 2026

  • Added direct Intervals.icu coach access. Coaches who already have coaching relationships on Intervals.icu can access all their coached athletes through Claude with no athlete setup required. Athletes do not need an IcuSync account. This is in addition to the existing IcuSync invite system, which remains unchanged. See the 23 Jun 2026 entry for setup instructions. The initial OAuth-based approach was replaced with API key auth.

26 May 2026

  • Claude now checks your current training load and recovery status before recommending or creating a training plan. Get Wellness and Get Fitness are called automatically to assess ATL, CTL, and TSB so that workout prescriptions reflect your actual fatigue state rather than an assumed baseline.
  • Tags are now visible to Claude. Activity tags you apply in intervals.icu (e.g. Z2, Intervals, Threshold) are now returned by get_training_history and get_events, so Claude can filter and analyse your training by tag.

10 May 2026

  • Added push_wellness to write wellness data back to intervals.icu. Claude can now log daily nutrition totals (kcal, carbohydrates, protein, fat) from a food tracking source, subjective scores (fatigue, soreness, mood, motivation, stress on a 1-5 scale), body weight, and daily notes. Only the fields provided are updated. Device-synced data such as HRV, sleep, and resting HR is left untouched.
  • The intervals.icu OAuth connection now requests Wellness Update permission alongside the existing Wellness Read permission. Existing users need to grant this permission before push_wellness will work. You can do this by going to intervals.icu Settings, Apps, finding IcuSync and clicking edit to add the Wellness update permission. Alternatively, reconnect your intervals.icu account from the IcuSync dashboard.

4 May 2026

  • Updated get_wellness to include carbohydrate, protein and fat intake (in grams) alongside the existing kcal field. Data is only populated if the athlete logs food in intervals.icu.

1 May 2026

  • Updated push_workout with day of week validation. If Claude calculates the wrong date for a given day (for example, thinking Monday is May 5 when it is actually May 4) the server catches the mismatch and returns the corrected date so it can be fixed before landing on your calendar.
  • IcuSync now works with ChatGPT following the addition of MCP support in ChatGPT Developer Mode. Reading training data works reliably. Creating structured workouts is supported but Claude remains the more accurate option for that. See the full comparison article for setup details and what to watch for.

23 April 2026

  • Added get_training_summary to aggregate training stats over any date range. Returns total volume, TSS, and calories by sport, power/HR/pace zone distribution with time and percentages, and a week-by-week breakdown. Useful for block reviews, load tracking, and answering questions like “how much Z2 did I do this month”.
  • Weather conditions are now included in get_activity_detail when available. Temperature, feels-like, min/max temp, wind speed, wind gusts, wind direction, and headwind/tailwind percentage.
  • One-click calendar subscription added to the dashboard. Once connected to Intervals.icu, your training calendar appears automatically with buttons to add it directly to Apple Calendar, Google Calendar, or Outlook. No copy-pasting required.
  • Workouts pushed to your calendar via IcuSync are now automatically tagged with "icusync" in Intervals.icu. Custom tags can also be added by asking Claude (e.g. "tag this as marathon block"). To skip tagging entirely, just ask Claude not to add tags.

20 April 2026

  • Added get_extended_metrics to retrieve advanced sensor data aggregated per interval. For cyclists: core body temperature, DFA alpha1 aerobic threshold marker, W’ prime balance (energy reserve), and blood glucose. For runners: ground contact time, vertical oscillation, GCT balance, and vertical ratio. Data availability depends on the athlete’s device and sensor setup.

17 April 2026

  • Intervals.icu connection now uses OAuth. New users connect with one click via the Connect with Intervals.icu button in their dashboard. No API key or Athlete ID entry required. Existing users connected via API key continue to work without any changes. If an existing user disconnects, they reconnect through OAuth. Garmin attribution added to activity data returned to Claude, in line with Garmin brand guidelines.

16 April 2026

  • Added Strava activity detection. Claude now automatically identifies activities sourced via Strava and explains why detailed data may be unavailable, with guidance on how to fix it.

15 April 2026

  • Added coach access, allowing athletes to invite their coach by email from the dashboard. Coaches receive a personal MCP URL and can access their athletes' training data through Claude with no IcuSync account required. Athletes control which tools to grant and can revoke access at any time. One MCP URL covers all athletes who invite the same coach email.

12 April 2026

  • Added get_power_curves to analyse your best power output across key durations for run and ride, including CP and FTP model estimates.

11 April 2026

  • Added get_best_efforts to retrieve your personal bests directly from Intervals.icu across key distances and durations.

8 April 2026

  • Added get_wellness to retrieve daily wellness data including sleep, HRV, resting HR, and weight.

March 2026

  • Launched IcuSync with 8 tools covering training history, activity detail, fitness metrics, athlete profile, calendar events, and workout push, edit and delete.