Partial disconnect from Zwift servers during ride [Error 400 refreshing access token]

I rode for about an hour and sixteen minutes this morning, but something apparently happened about an hour into the ride that resulted in numerous issues:

  1. Several riders appeared in the nearby riders list with no name or flag. See screenshot.
  2. Only a partial ride (uploaded at the 50 minute mark) was uploaded to
  3. No ride image was uploaded to
  4. No ride or image was uploaded to Strava.
  5. I lost 8758 Drops.
  6. I lost some XP. (I didn’t have the foresight to save a screenshot of my XP total.)

According to the log file, my activity was uploaded to the server every 10 minutes and 1 second until 6:23:47 AM. The next upload should probably have been at 6:33:48, but it never happened. Instead, at 6:33:32, I see…

NETCLIENT:[ERROR] Error refreshing access token: [400] {"error":"invalid_grant","error_description":"Session not active"}

I suspect that this is when I was partially disconnected from the Zwift servers. Aside from the nameless, flagless riders, there was no indication from the client that anything had gone wrong.

This is about the third time this has happened to me. Please advise.

You can drop your log file into to see if you had network issues.

I take it that this is a ‘no’?

Wow that is interesting, not what I expected.

I would suggest opening a support ticket, and include the log file and all the info you have in this post.

I have done so. Unfortunately, the reply from Zwift support doesn’t inspire confidence.

I had the same issue today. I contacted Zwift and got the canned generic response for regular “disconnected from the internet” issues. So it is not just you.

Do you guys live in the same area or us the same ISP?

I live in Seattle and use Comcast.

I’m only asking because there was an issue over the weekend were Zwifters in and around Germany on a specific telecom where having issue logging in.

I ran into the same problem on 10 February. (See Yet another ride not recorded! What's going on). I got one canned generic response from Zwift after submitting that support ticket, and then they went silent.

So here’s the latest response from Zwift support:

[W]hen we see the the “Error refreshing access token: [400]” message, we know it has something to do with the internet connection. I’d like to highly suggest looking over this article “How to Fix a 400 Bad Request Error​” that explains the error and how to help it from coming back in the future.

April Fool’s Day was over a week ago!

That’s great cause I got a response from support saying “I believe your internet is not going to be the source of the problem based on what you’ve described.” This of course is after I sent an email with a much angrier tone after the first copy and paste response I got from support. I even sent a link to this forum post telling them this is my problem too. However, I did not have the error 400 message like you just the nameless riders and inability to get the full workout

Those blue spikes in the network errors chart can happen when networking drops out on your end.

I dug that out of Log.txt, trying to be helpful. That sure backfired.

Within the game, I just saw some nameless riders.

I always see some delayed packets. Do other people get a clean graph?

I can’t remember what a normal chart looks like Jim. The log format must have changed recently because there’s a lot of empty space where there used to be lines. That’s unfortunate as I don’t have time to maintain zwiftalizer anymore.

The networking charts are working properly again. I found some time while binge watching Game of Thrones. Check the bottom chart - network connections. One connection at the start is normal. Any more than that and it means your connection to the server got dropped and had to reconnect.

Okay. Things look quite different now.

Thanks @Mike_Hanney - I do find your website very useful. Thanks for keeping it running.

You’re welcome @Gerrie_Delport. It’s good to know people still find it useful. This thread, and another recent one about underutilized GPU, have piqued my interest again. I think it’s time for version 2.0.