SeriesGuide doesn’t have any restrictions (if I remember correctly). However, based on the discussions you have linked it’s possible that the Trakt servers now reject marking a future episode as watched.
According to the logs, it seems that Trakt could not find a matching show.
However, in reality:
I am able to mark episodes as watched in Trakt iOS
The watched status successfully syncs back to SeriesGuide
So there appears to be a contradiction between what the logs report and the actual behavior.
Logs:
2026-04-18 21:06:32.188 ListWidgetProvider D onReceive: widget DATA_CHANGED action.
2026-04-18 21:06:32.200 ListWidgetProvider D scheduled widget UPDATE alarm.
2026-04-18 21:06:40.219 ListWidgetRemoteViewsFactory D onQueryForData for appWidgetId=17
2026-04-18 21:08:23.840 NotificationService$Companion D Notification cleared, received delete intent Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 xflg=0x4 pkg=com.battlelancer.seriesguide cmp=com.battlelancer.seriesguide/.ui.ShowsActivity }
2026-04-18 21:08:23.868 CalendarFragment2ViewModel$updateCalendarQuery D updateCalendarQuery
2026-04-18 21:08:23.872 SgSyncAdapter$Companion D Requesting sync: queueing request!
2026-04-18 21:08:23.877 BillingTools I updateUnlockState: pass=true, amazon=false, play=false
2026-04-18 21:08:23.879 LatestEpisodeUpdateTask D Updating next episodes for all shows
2026-04-18 21:08:23.929 SgSyncService D Creating sync service
2026-04-18 21:08:23.929 SgSyncService D Binding sync adapter
2026-04-18 21:08:23.931 SgSyncAdapter I Syncing: DELTA_REGULAR
2026-04-18 21:08:23.933 SyncProgress D Syncing: TMDB...
2026-04-18 21:08:23.974 ShowSync D Updating 0 show(s)...
2026-04-18 21:08:23.974 SgSyncAdapter D Syncing: TMDB shows...DONE
2026-04-18 21:08:23.987 TmdbSync D Updating 0 movie(s)...
2026-04-18 21:08:23.987 SgSyncAdapter D Syncing: TMDB...DONE
2026-04-18 21:08:23.987 SgSyncAdapter D Syncing: Hexagon...SKIP
2026-04-18 21:08:23.991 SyncProgress D Syncing: TRAKT...
2026-04-18 21:08:24.068 ShowsViewModel$updateQuery D Running query update.
2026-04-18 21:08:24.123 ShowsFragment$onViewCreated D Scheduled query update.
2026-04-18 21:08:24.327 ShowsFragment$onViewCreated D Scheduled query update.
2026-04-18 21:08:24.880 SyncProgress D Syncing: TRAKT_EPISODES...
2026-04-18 21:08:24.880 TraktEpisodeSync D syncWatched: no changes since 2026-04-16 15:52:43
2026-04-18 21:08:24.881 TraktEpisodeSync D syncCollected: no changes since 2026-02-13 13:15:56
2026-04-18 21:08:24.881 SyncProgress D Syncing: TRAKT_RATINGS...
2026-04-18 21:08:24.881 TraktRatingsSync D downloadForEpisodes: no changes since 2025-07-09 13:41:50
2026-04-18 21:08:24.882 TraktRatingsSync D downloadForShows: no changes since 2026-04-14 10:05:21
2026-04-18 21:08:24.882 SyncProgress D Syncing: TRAKT_NOTES...
2026-04-18 21:08:24.883 TraktNotesSync D syncForShows: no changes since 2025-04-30 18:30:01
2026-04-18 21:08:24.883 SyncProgress D Syncing: TRAKT_MOVIES...
2026-04-18 21:08:24.883 TraktMovieSync D syncLists: no changes
2026-04-18 21:08:24.885 MovieTools$Companion D deleteUnusedMovies: removed 0 movies
2026-04-18 21:08:24.885 SyncProgress D Syncing: TRAKT_RATINGS...
2026-04-18 21:08:24.885 TraktRatingsSync D downloadForMovies: no changes since 2026-01-29 14:20:37
2026-04-18 21:08:24.885 SgSyncAdapter D Syncing: trakt...DONE
2026-04-18 21:08:24.885 LatestEpisodeUpdateTask D Updating next episodes for all shows
2026-04-18 21:08:24.886 SgSyncAdapter I Syncing: SUCCESS
2026-04-18 21:08:24.888 ListWidgetProvider D onReceive: widget DATA_CHANGED action.
2026-04-18 21:08:24.891 ListWidgetProvider D scheduled widget UPDATE alarm.
2026-04-18 21:08:25.091 ShowsFragment$onViewCreated D Scheduled query update.
2026-04-18 21:08:50.753 SgSyncAdapter$Companion D Requesting sync: did sync recently, skip.
2026-04-18 21:08:50.754 BillingTools I updateUnlockState: pass=true, amazon=false, play=false
2026-04-18 21:09:23.188 SgSyncAdapter$Companion D Requesting sync: did sync recently, skip.
2026-04-18 21:09:23.189 BillingTools I updateUnlockState: pass=true, amazon=false, play=false
2026-04-18 21:09:23.979 SgSyncAdapter$Companion D Requesting sync: did sync recently, skip.
2026-04-18 21:09:23.980 BillingTools I updateUnlockState: pass=true, amazon=false, play=false
2026-04-18 21:09:23.981 LatestEpisodeUpdateTask D Updating next episodes for all shows
2026-04-18 21:09:24.180 ShowsViewModel$updateQuery D Running query update.
2026-04-18 21:09:24.181 ShowsFragment$onViewCreated D Scheduled query update.
2026-04-18 21:09:24.212 ShowsFragment$onViewCreated D Scheduled query update.
2026-04-18 21:09:24.932 SgSyncAdapter$Companion D Requesting sync: did sync recently, skip.
2026-04-18 21:09:24.973 PackageTools D installingPackageName = 'com.android.vending'
2026-04-18 21:09:24.980 SgAppContainer I preventExternalLinks=true installedByPlay=true region=CN isEEA=false isUS=false
2026-04-18 21:09:25.046 SeasonWatchInfoViewModel$special$$inlined$map D Loading watch providers for SeasonWatchInfo(showTmdbId=313395, seasonNumber=1, region=JP)
2026-04-18 21:09:25.257 ExtensionManager I Loading extension subscriptions
2026-04-18 21:09:25.265 ExtensionManager D Restored subscription: ComponentInfo{com.battlelancer.seriesguide/com.battlelancer.seriesguide.extensions.WebSearchExtensionReceiver} token: 6be72618-ba20-43ad-9501-4f0e5ce59c19
2026-04-18 21:09:25.265 ExtensionManager D Restored subscription: ComponentInfo{com.battlelancer.seriesguide/com.battlelancer.seriesguide.extensions.YouTubeExtensionReceiver} token: b366ada4-41b9-43fe-ae54-fecca6b8b8ee
2026-04-18 21:09:25.265 ExtensionManager I App restart: temporarily un-subscribing from all extensions.
2026-04-18 21:09:25.265 ExtensionManager D disableExtension: unsubscribing from ComponentInfo{com.battlelancer.seriesguide/com.battlelancer.seriesguide.extensions.WebSearchExtensionReceiver}
2026-04-18 21:09:25.266 ExtensionManager D disableExtension: unsubscribing from ComponentInfo{com.battlelancer.seriesguide/com.battlelancer.seriesguide.extensions.YouTubeExtensionReceiver}
2026-04-18 21:09:25.267 ExtensionManager D Saving 0 subscriptions
2026-04-18 21:09:25.268 ExtensionManager I App restart: re-subscribing to installed extensions.
2026-04-18 21:09:25.268 ExtensionManager D enableExtension: subscribing to ComponentInfo{com.battlelancer.seriesguide/com.battlelancer.seriesguide.extensions.WebSearchExtensionReceiver}
2026-04-18 21:09:25.269 ExtensionManager D enableExtension: subscribing to ComponentInfo{com.battlelancer.seriesguide/com.battlelancer.seriesguide.extensions.YouTubeExtensionReceiver}
2026-04-18 21:09:25.269 ExtensionManager D Saving 2 subscriptions
2026-04-18 21:09:25.270 ExtensionManager D requestAction: requesting from ComponentInfo{com.battlelancer.seriesguide/com.battlelancer.seriesguide.extensions.WebSearchExtensionReceiver} for 7104636
2026-04-18 21:09:25.271 ExtensionManager D requestAction: requesting from ComponentInfo{com.battlelancer.seriesguide/com.battlelancer.seriesguide.extensions.YouTubeExtensionReceiver} for 7104636
2026-04-18 21:09:25.277 OverviewFragment$episodeActionsLoaderCallbacks D onLoadFinished: received 0 actions
2026-04-18 21:09:25.576 OverviewFragment$episodeActionsLoaderCallbacks D onLoadFinished: received 2 actions
2026-04-18 21:09:25.937 SgSyncAdapter$Companion D Requesting sync: queueing request!
2026-04-18 21:09:25.954 SgSyncService D Creating sync service
2026-04-18 21:09:25.955 SgSyncService D Binding sync adapter
2026-04-18 21:09:25.958 SgSyncAdapter I Syncing: SINGLE_REGULAR
2026-04-18 21:09:25.959 SyncProgress D Syncing: TMDB...
2026-04-18 21:09:25.959 ShowSync D Updating 1 show(s)...
2026-04-18 21:09:27.646 GetShowTools W getShowDetails: no Trakt show found, using default values.
2026-04-18 21:09:28.282 LatestEpisodeUpdateTask D Updating next episode for show 1058
2026-04-18 21:09:28.286 SgActivityHelper$Companion D addActivity: removed 0 outdated activities
2026-04-18 21:09:28.287 SgActivityHelper$Companion D Added 1 activities with time 1776517768286
2026-04-18 21:09:28.291 SgSyncAdapter$Companion D Requesting sync: queueing request!
2026-04-18 21:09:28.296 ListWidgetProvider D onReceive: widget DATA_CHANGED action.
2026-04-18 21:09:28.299 ListWidgetProvider D scheduled widget UPDATE alarm.
2026-04-18 21:09:28.303 Errors$Companion E get season
java.io.InterruptedIOException
at okhttp3.internal.http2.Http2Stream.waitForIo$okhttp(Http2Stream.kt:716)
at okhttp3.internal.http2.Http2Stream.takeHeaders(Http2Stream.kt:156)
at okhttp3.internal.http2.Http2ExchangeCodec.readResponseHeaders(Http2ExchangeCodec.kt:105)
at okhttp3.internal.connection.Exchange.readResponseHeaders(Exchange.kt:117)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.kt:97)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:34)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:101)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:85)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:74)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
at com.uwetrottmann.trakt5.TraktV2Interceptor.handleIntercept(TraktV2Interceptor.java:59)
at com.battlelancer.seriesguide.traktapi.SgTraktInterceptor.intercept(SgTraktInterceptor.java:30)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
at com.uwetrottmann.tmdb2.TmdbInterceptor.handleIntercept(TmdbInterceptor.java:62)
at com.battlelancer.seriesguide.tmdbapi.SgTmdbInterceptor.intercept(SgTmdbInterceptor.kt:22)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
at com.battlelancer.seriesguide.modules.HttpClientModule$provideOkHttpClient$$inlined$-addInterceptor$1.intercept(OkHttpClient.kt:1394)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:226)
at okhttp3.internal.connection.RealCall.execute(RealCall.kt:178)
at retrofit2.OkHttpCall.execute(OkHttpCall.java:207)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall.execute(DefaultCallAdapterFactory.java:108)
at com.battlelancer.seriesguide.tmdbapi.TmdbTools3.getSeason(TmdbTools3.kt:156)
at com.battlelancer.seriesguide.shows.tools.AddUpdateShowTools.getEpisodesOfSeason(AddUpdateShowTools.kt:271)
at com.battlelancer.seriesguide.shows.tools.AddUpdateShowTools.updateShow(AddUpdateShowTools.kt:508)
at com.battlelancer.seriesguide.shows.tools.ShowSync.sync(ShowSync.kt:93)
at com.battlelancer.seriesguide.sync.SgSyncAdapter.sync(SgSyncAdapter.kt:153)
at com.battlelancer.seriesguide.sync.SgSyncAdapter.onPerformSync(SgSyncAdapter.kt:111)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:354)
2026-04-18 21:09:28.303 SgSyncAdapter D Sync interrupted by system, trying again later.
2026-04-18 21:09:28.303 SyncProgress D Syncing: TMDB...FAILED
2026-04-18 21:09:28.306 ListWidgetProvider D onReceive: widget DATA_CHANGED action.
2026-04-18 21:09:28.307 ListWidgetProvider D scheduled widget UPDATE alarm.
2026-04-18 21:09:28.309 SgSyncService D Creating sync service
2026-04-18 21:09:28.309 SgSyncService D Binding sync adapter
2026-04-18 21:09:28.310 SgSyncAdapter I Syncing: JOBS_IMMEDIATE
2026-04-18 21:09:28.311 NetworkJobProcessor D Running job 15710 EPISODE_WATCHED_FLAG
2026-04-18 21:09:28.315 NetworkJobProcessor D Job 15710 completed, will remove.
2026-04-18 21:09:28.328 SgSyncService D Creating sync service
2026-04-18 21:09:28.328 SgSyncService D Binding sync adapter
2026-04-18 21:09:28.329 SgSyncAdapter I Syncing: SINGLE_REGULAR
2026-04-18 21:09:28.330 SyncProgress D Syncing: TMDB...
2026-04-18 21:09:28.330 ShowSync D Updating 1 show(s)...
2026-04-18 21:09:28.332 GetShowTools W getShowDetails: no Trakt show found, using default values.
2026-04-18 21:09:28.491 ExtensionManager D requestAction: requesting from ComponentInfo{com.battlelancer.seriesguide/com.battlelancer.seriesguide.extensions.WebSearchExtensionReceiver} for 7104637
2026-04-18 21:09:28.493 ExtensionManager D requestAction: requesting from ComponentInfo{com.battlelancer.seriesguide/com.battlelancer.seriesguide.extensions.YouTubeExtensionReceiver} for 7104637
2026-04-18 21:09:28.499 OverviewFragment$episodeActionsLoaderCallbacks D onLoadFinished: received 0 actions
2026-04-18 21:09:28.715 OverviewFragment$episodeActionsLoaderCallbacks D onLoadFinished: received 2 actions
2026-04-18 21:09:30.051 SgSyncAdapter$Companion D Requesting sync: sync active, skip.
2026-04-18 21:09:30.053 BillingTools I updateUnlockState: pass=true, amazon=false, play=false
2026-04-18 21:09:30.054 LatestEpisodeUpdateTask D Updating next episodes for all shows
2026-04-18 21:09:30.104 ShowsFragment$onViewCreated D Scheduled query update.
2026-04-18 21:09:30.251 ShowsViewModel$updateQuery D Running query update.
2026-04-18 21:09:30.284 ShowsFragment$onViewCreated D Scheduled query update.
2026-04-18 21:09:30.459 OverviewFragment$episodeActionsLoaderCallbacks D onLoadFinished: received 2 actions
2026-04-18 21:09:30.966 SgSyncAdapter$Companion D Requesting sync: sync active, skip.
2026-04-18 21:09:30.967 BillingTools I updateUnlockState: pass=true, amazon=false, play=false
2026-04-18 21:09:32.710 SgSyncAdapter D Syncing: TMDB shows...DONE
2026-04-18 21:09:32.710 SgSyncAdapter I Syncing: SUCCESS
2026-04-18 21:09:32.721 NotificationAlarmReceiver D Run notifications service right away
2026-04-18 21:09:32.721 NotificationService D Waking up...
2026-04-18 21:09:32.722 NotificationService D Settings: specials: YES
2026-04-18 21:09:32.739 NotificationService D Woke up earlier than planned, checking to notify or reschedule
2026-04-18 21:09:32.739 NotificationService D No new episodes
2026-04-18 21:09:32.744 NotificationService D Setting alarm: exact=true time=2026-04-19T15:50:00Z
2026-04-18 21:09:32.748 ListWidgetProvider D onReceive: widget DATA_CHANGED action.
2026-04-18 21:09:32.750 ListWidgetProvider D scheduled widget UPDATE alarm.
Thanks! According to these messages SeriesGuide does properly set the episode watched at Trakt. Otherwise, you would have received an error notification. So that can’t be the issue.
Update: the issue is that Trakt servers don’t return details, notably a Trakt ID, when looking up these shows by their TMDB ID. This prevents SeriesGuide from uploading any changes related to that show.
I’ve emailed Trakt support about this. Let’s see what happens.