COROS AI Coach: What Your Watch Data Can and Cannot Do
COROS EvoLab already measures your fitness and fatigue. An AI coach adds what the watch cannot: a decision about today, built from every app you use.
You bought the COROS because the battery lasts a week and the data is honest. That was the right call. EvoLab tells you your Base Fitness, your Fatigue, your Load Impact, a threshold pace it derived from your own runs rather than a formula. For a watch, that is a lot of analysis.
Then you finish a run, open the app, and see that your Fatigue jumped and your Base Fitness held. And you sit there thinking: okay, so what do I do tomorrow?
That question is where every watch stops. Not because the hardware is limited, but because a watch measures one athlete doing one thing, and the answer depends on your race in nine weeks, the deadlift session you logged in a different app, the two nights of bad sleep you had before the run, and whether you are ten days into a build or three days from a taper. No watch has that context. It cannot.
This guide covers what actually happens when you connect COROS to an AI coach: what data lands, what does not, what the coach can write back to the watch, and where the current limits are. The limits are stated plainly, because finding them after you have signed up is worse than knowing them now.
What COROS already does well
Start here, because it changes what the coach should be used for.
COROS EvoLab is a real training-load model, not a step counter. It gives you:
- Base Fitness, a long-horizon measure of accumulated training. This is COROS's version of the fitness line in a classic fitness and fatigue model.
- Fatigue, the fast-moving counterpart that spikes after hard work and drains during rest.
- Load Impact, which tells you what a specific session did to those two numbers rather than just what it cost.
- Threshold pace and power estimated from your own efforts, plus race predictions and a Marathon Level score.
- A recovery timer, which is a blunt instrument but an honest one.
If you understand what those mean, you already have more than most runners get from their watch. Our guide to Training Stress Score explains the load model underneath all of it, because the vocabulary differs between platforms but the physics does not.
So the pitch for adding an AI coach is not "COROS does not measure enough." It measures plenty. The pitch is that measurement and decision are different jobs.
What the watch cannot do
Three things, specifically.
It cannot see anything that is not on your wrist. If you lift, your strength volume is in a gym app. If you sleep with a ring, your recovery data is in another. If your race is in a calendar, the watch has never heard of it. EvoLab's Base Fitness is calculated on COROS activities only, so for anyone training across more than one modality it is systematically undercounting. The hybrid athlete problem is exactly this: two apps, two partial pictures, one body absorbing both.
It cannot hold a conversation. A number cannot answer "should I still do the session if my legs feel dead but my HRV is fine?" That is a judgment question involving context the watch does not store.
It cannot change the plan. EvoLab reacts to what you did. It does not rewrite what you are going to do. If Tuesday's long run turned into a two-hour slog because of heat, nothing in the watch moves Thursday's intervals to Friday.
What actually syncs from COROS
Here is the honest inventory. COROS connects through a data bridge rather than a direct partnership, and that shapes exactly what arrives.
Activities land in full. Every run, ride, swim, trail effort, ultra and strength session, with GPS, pace, heart rate, power, cadence and lap structure. Lap data matters more than people expect: it is what lets the coach see that your session had a warmup, six reps and a cooldown, rather than treating 68 minutes as one undifferentiated blob. Running cadence gets normalised to total steps per minute on the way in, because the raw feed reports it per leg, and a coach that thinks you run at 82 spm will give you bad advice.
Recovery signals land. Overnight HRV and resting heart rate both come through, which are the two most useful daily inputs for deciding whether today should be hard. Training off those trends is covered in our HRV-guided training guide.
Body data lands. Weight and body fat, if you record them.
Sleep lands as a total, and only as a total. This is the caveat worth stating clearly. You get the nightly duration. You do not get the deep, light and REM breakdown, and you do not get the COROS sleep score, because the bridge does not carry them. The coach can tell you that you slept 5h40 and factor that into today's session. It cannot tell you that your deep sleep was down, and it should never pretend otherwise.
VO2 max does not come through at all. If you want the coach reasoning about VO2 max specifically, that has to come from a different source.
None of this stops the coach from working well. Duration plus HRV plus resting heart rate plus what you actually trained is most of the signal. But you should know which drawer is empty before you go looking in it.
Why the two fitness numbers will not match
Once both are running you will notice something confusing: COROS says your Base Fitness is one number, the coach says your fitness is a different one, and neither is wrong.
They are different models. EvoLab is built on COROS's own load units, derived from your efforts against COROS's estimate of your thresholds, and calculated over COROS activities only. The coach computes the classic fitness and fatigue model instead: a 42-day exponentially weighted average of daily load for fitness, a 7-day average for fatigue, and the difference between them as form. Same idea, different time constants, different units, and crucially a different input set, because the coach is also counting the gym sessions and the rides EvoLab never saw.
Three practical consequences:
Do not try to convert between them. There is no exchange rate. A Base Fitness of 60 does not map to a CTL of anything.
Watch direction, not level. Both models agree on the thing that matters, which is whether your fitness is trending up, flat or down over a month. When they disagree on direction, that is the interesting signal, and the usual explanation is training the watch cannot see.
Expect the coach's number to be higher if you cross-train. That is not inflation. It is the load you were already absorbing, finally being counted.
The part that surprises people: the coach writes back
Most integrations are read-only. This one is not.
COROS is one of a small number of platforms that accept a pushed structured workout. So when the coach builds Thursday's session with intervals, target paces and rest periods, that session appears on your watch. You wake up, start the workout, and the watch guides the reps.
The reason this matters is not convenience. It is that a plan which lives somewhere you have to remember to open is a plan you will drift from within two weeks. A plan on your wrist at 6am is a plan you do. Our guide on pushing structured workouts to your watch walks through the mechanics for COROS and the other supported devices.
The second-order effect is the useful one. When the plan changes, the watch changes. If last night's sleep was short and this morning's HRV came back low, the coach can downgrade today's intervals to an easy run and re-push, so the version on your wrist is the current version rather than the one written on Sunday. That closed loop is what makes an adaptive training plan adaptive in practice rather than in theory.
The limit to know before you start
The plan sync runs one way.
The coach can write a structured session to your COROS account. It cannot read a training plan that already exists there. If you or a human coach built a block in COROS Training Hub, the AI coach has no visibility into it, which means it will happily plan a session on top of a workout it cannot see.
This is a real constraint, not a rough edge, and it forces a choice about who owns the plan:
If the AI coach owns the plan, everything is consistent. It writes the sessions, sees them completed against your actual activities, and rebalances when reality disagrees with the schedule. This is the setup the product is built for.
If a human coach owns the plan in COROS, do not ask the AI coach to plan on top of it. Use it for the other half of the job: interpreting your load and recovery trends, flagging when your HRV baseline has been drifting for a week, answering questions about a session, and telling you when to raise a concern with your coach. That is genuinely valuable and it does not conflict with anything.
What you should not do is let both write plans. That is how you end up doing two long runs in one week.
What a week actually looks like
Concretely, on a normal training week with COROS connected:
Morning. Your overnight HRV and resting heart rate have synced. If they are in range and yesterday's load was as planned, you get today's session and a short reason for it. If HRV came back low for the second day running, you get a modified session and an explanation, and the modified version goes to the watch.
After a session. The activity syncs. Load, lap structure, heart rate and pace all land. If the session matched the plan, it is marked complete. If you ran 14k when the plan said 10k, the coach knows, and the rest of the week absorbs it.
During the week. You can just ask. "Why is my Base Fitness flat when I have been running more?" is a question with a real answer, and the answer usually involves intensity distribution rather than volume.
Sunday. The next fortnight gets rewritten against your race date, your current load and how the last two weeks actually went rather than how they were drawn.
When something is off. Resting heart rate creeping up over a week, HRV drifting below your own baseline, and load still climbing is a recognisable pattern, and it is the one that precedes most blown builds. Knowing when to deload is mostly about catching that combination early.
If you just want the data, not the coaching
Worth saying, because a meaningful share of people searching for COROS and AI want something narrower.
If you do not want a coach texting you and you only want to interrogate your own training history, the same connection exposes your data over MCP. That means Claude Desktop, Cursor or any MCP-capable client can query your COROS activities, load history and recovery data directly, and you can ask whatever you want in your own tooling. Our guide on connecting training data to ChatGPT and Claude covers the setup, and the MCP tier is priced separately from coaching for exactly this use case.
Getting set up: the practical steps
- Connect COROS from the integrations page. It is an account-level authorisation, so it covers every watch that syncs to your COROS account.
- Let the backfill finish. Your training history imports over minutes to hours depending on how much of it there is, and the coach stays quiet until it lands so you are not getting notes about a run from 2023.
- Tell it your race, or that you do not have one. Both are valid inputs. A goal date changes how the plan is structured; without one it optimises for consistent fitness instead.
- Connect anything else you train with. A gym app and a sleep tracker are what turn a COROS-only picture into a complete one, and the gap between those two is usually where the surprises are.
- Decide who owns the plan. If it is the AI coach, clear out any conflicting block in COROS Training Hub first.
- Check the first pushed workout actually arrives on the watch before you rely on it for a key session. It should, but verify once.
- Give it two weeks before you judge it. HRV baselines need about three weeks to stabilise, and load trends need a block to say anything meaningful.
Your watch already knows what you did. The useful question was always what to do next, and that one needs everything the watch cannot see.
Start a 7-day free trial and connect COROS in about a minute, or read the full breakdown on the COROS integration page.