Coax - Surf your Plex Server
Relax with Coax
Free · In-App Purchases
Demolish the tyranny of too much choice, say "NO" to BigAlgo, and just Relax with Coax.
Within seconds, you'll be flipping through a schedule made entirely of your own Plex Media Server content. Jump right in with the on-screen cable guide and watch whatever's on, just like the old days.
You can't pause, you can't skip forward, you can't rewind - all you can do is change the channel. Experience the joy of randomly happening upon a great scene in a movie you forgot you had, or a TV show marathon for an old favorite.
Coax requires no setup at all - it uses the metadata your media library already has. If you want, you can create your own custom Lineups, with all sorts of simple yet powerful scheduling rules - create a Saturday Morning Cartoons Lineup for your inner (or actual) child, or a Late Night Thrillers Lineup for date night.
Important: This app requires a Plex account and access to a Plex Media Server (or Jellyfin, or Emby). Coax does not provide or distribute any media; it only connects to content you already own.
How to configure your Lineups:
• Coax scans your home media libraries and generates a channel guide based on your content’s metadata.
• Select which channel categories you want: Genre, Decade, Recent Additions, Actor, Studio, Director, and Collections.
• Create 100% custom channels using Collections.
• Unify your libraries to mix TV and movie channels.
• Adjust the number of channels you want to generate.
• Customize the time between your programs with Gap Content - play Trailers, or content from another Library if you want!
Coax is your personal “cable box” for your own content — no extra accounts, no third-party streaming, just your Plex library organized in a fun, nostalgic way.
https://www.apple.com/legal/internet-services/itunes/dev/stdeula/
more EVERYWHERE ENHANCEMENTS
• The Lineup Configurator is now much more intuitive
◦ Description text for options now tells you explicitly what the option does, and what outcome to expect
• Estimate how long your schedule will take to generate based on your channels and server response time
◦ Helps you decide if those 200 extra channels are worth the wait
• Dedicated editor view instead of overlays with low information density
◦ I know this is a bit boring but I had to strip it down a bit - things were way too cumbersome
Overall, I'm hoping that this will make the Lineup creation much less intimidating, and will help folks feel more comfortable making changes because they're confident they understand what each change will do to their schedule.
Also, I lied when I said I only focused on macOS enhancements for this cycle. I have some very exciting news which is that Schedules are now reliably stable across all your devices!
CROSS-DEVICE SCHEDULE SYNC (INCLUDING MARATHONS)
• Make a Lineup on your mac, schedule it, watch for a bit, notice that The Blues Brothers is coming on in 3 hours while you're gonna be out
• No problem! Your phone will have the same Lineup and the same schedule, no matter where you go
• If someone is watching the same Lineup you are, you can watch the same stuff on the same channels
And a few bits and bobs
BUG FIXES
• Actor, Director, and Studio channels could quietly start playing somebody else's movies after a background schedule refresh — the channel kept its name while the content wandered off (one memorable evening, everything became Danny Boyle films)
◦ Fixed: these channels now remember exactly who they belong to, and a refresh can only fetch that person's stuff
• Rescheduling TV Marathon Mode-impacted channels (NOT the orange Marathon channels, which is my fault for naming them so confusingly) should be working again
• Login issues related to when a token is expired on the media server side
• Jellyfin would sometimes force transcoding for image-based subtitles, resulting in a double-subtitle. A double subble, if you will.
1.4.8 16 hr ago
* Took another run at the Poltergeist bug - I think this house is (finally) clean
* I'll stop being cute for a second and just say that your AppleTV should now stop turning on and playing audio when you open Coax on another device
* Jellyfin and Emby users can attempt to authenticate without passwords
* People do this!
* DCA and Opus audio bugs should be resolved and play properly now (no more garbled/sped-up sound)
* MP3 playback should also be good now
* "Force transcode" is now universal instead of per-item (which would have been helpful to mitigate the two previous bugs but hey it's still a good idea)
1.4.7 6 Aug
New look! New logo! New icon!
A few audio bug fixes too.
1.4.6 1 Aug
Another small update - just some streaming fixes to prevent unnecessary transcoding events, prevent volume differences in gap content from causing problems, and try to match commercial gap content to the year of the next item to play.
1.4.5 23 Jul
Tiny update to fix some scheduling issues and a Jellyfin authentication problem.
1.4.4 21 Jul
• Release date content filters are working again
• I think that's all of the filters that got borked but I'm trusting y'all will let me know if they're not
• Closed Captions mode re-enabled
• Added an explicit universal toggle in Stream Options to turn on Closed Caption mode
• Still responds to the system-wide accessibility SDH setting if you use that
• Playlists properly shuffle TV show episodes again, just like Collections do (except you can mix in movies)
• tvOS logging should work again, it stopped for a bit
• Live TV channels failing to start at all - probably will take a few more rounds to get right
• Live TV is still a really new addition to the Coax lineup options, and if I'm being 100% honest I didn't do enough research before adding it
• It "works" but it's not great (it can take a long time to actually start the stream). I will keep working on it
• Local IP connection attempts to connect automatically (if the internet is down, for example)
• More visionOS fixes - multi-window mode + weather, specifically
• I won't lie to you, this needs more work, and it doesn't get as much attention as the the other platforms
• Replaced unhelpful error messages with slightly more informative ones
• Added an "Auto-load" toggle for lineups to allow the user to explicitly specify which lineup should auto-load, if they want to.
• Ensure that backgrounding the app doesn't cause it to pause
Video Engine Upgrades
• Dolby Vision Profiles 5 & 8 direct play now (‼)
• h/t to my main man, a card-carrying Wizard in Good Standing with the International Brotherhood Of Code Wizards, Drew Baumann for this one - he really came through with the ancient runes and rites, that old stuff you hear about in stories
• The Plex native tvOS app wouldn't even play files with this profile, and Coax now plays it instantly, in full HDR/DV glory
• Double-AVPlayer leading to Garbage Robot Voice
• h/t to u/damstr for helping me with this one
• PGS/VobSub/ASS subtitles will now usually be passed to the native subtitle machinery
• No more burn-in!
• Drew Baumann made this happen too - truly a gentleman amongst scoundrels
1.4.3 19 Jul
Point release with some quick bug fixes:
• Reorder channels within categories - put your favorite Genre channels near the top, move your Playlists around, whatever you want
• Fixed Jellyfin and Emby issues - there were many
• Fixed ghost audio that could linger when changing channels quickly
• Better "starting" state for instant schedule generation
• Improved visionOS support - better video playback under more circumstances
• Launch failure resilience
Plus, everything from 1.4:
• Instant schedule generation - no more waiting. You have to see it to believe it
• On-device remuxing for really solid direct playback of all compatible codecs, MP4 and MKV alike
• Image-based subtitles no longer require transcoding
• PiP on tvOS - back by popular demand!
• Marathon channels can now be reset when you refresh a schedule
• Printed guides have three new pages - Now, Soon, and Later, which show the next 12h of your schedule
• Jellyfin and now Emby support has been complete, and has full feature parity with Plex servers
• TV Tuners from your media server can now be selected as content sources (like Libraries) in the Lineup Config
• Jellyfin and Emby both get this, too!
• Fast-follow improvements are coming in 1.4.1 - I didn't want development to block the release of 1.4, but I was able to get some (very) basic functionality up and running for this release
Bug fixes
• Stability improvements should mean way, way fewer crashes
• Parental control age ceilings properly override Lineup ceilings in the "downward" direction
• macOS window size/positioning is now saved
1.4.2 10 Jul
Point release with some quick bug fixes:
• Reorder channels within cateogries - put your favorite Genre channels near the top, move your Playlists around, whatever you want
• Fixed Jellyfin and Emby issues - there were many
• Fixed ghost audio that could linger when changing channels quickly
Plus, everything from 1.4:
• Instant schedule generation - no more waiting. You have to see it to believe it
• On-device remuxing for really solid direct playback of all compatible codecs, MP4 and MKV alike
• Image-based subtitles no longer require transcoding
• PiP on tvOS - back by popular demand!
• Marathon channels can now be reset when you refresh a schedule
• Printed guides have three new pages - Now, Soon, and Later, which show the next 12h of your schedule
• Jellyfin and now Emby support has been complete, and has full feature parity with Plex servers
• TV Tuners from your media server can now be selected as content sources (like Libraries) in the Lineup Config
• Jellyfin and Emby both get this, too!
• Fast-follow improvements are coming in 1.4.1 - I didn't want development to block the release of 1.4, but I was able to get some (very) basic functionality up and running for this release
Bug fixes
• Stability improvements should mean way, way• fewer crashes
• Parental control age ceilings properly override Lineup ceilings in the "downward" direction
• macOS window size/positioning is now saved
1.4.1 4 Jul
Version 1.4 brings live TV, Emby support, and a brand-new weather channel — plus a faster, smoother guide across all your devices.
• Faster and smoother scheduling - Instant, progressive channel loading. No more waiting!
• On-device Remuxxing - More files can direct-play now, without relying on a server-side transcoding session.
• Live TV Tuner support - Live broadcast channels now live right inside Coax. Add them to any lineup and flip to them like any other channel
• Jellyfin support - Full parity with Plex now!
• Emby support - Deserves its own line item, I feel
• Picture in Picture - Keep watching while you browse, now on Apple TV too
• Printed TV Guide - Now, Soon, and Later views of your scheduled content
• Pick your marathons - Choose exactly which shows get their own marathon channel, and keep or re-roll them on any refresh
• Better on Mac - Lots of improvements to the multi-window mode
1.4 30 Jun
Coax Weather!
Once you've set a location, you can add activate the "Weather" channel in your Lineup's channel manager. Tune to it like any other channel, or hit the View Schedule button to see a printed version of your forecast.
1.3 11 Jun
* Fixes for **Stream Failed** issues
* Make sure to set the "Terminate Sessions Paused for Longer Than" to 0 in your Plex Server's Network settings
* I added detection for a specific audio codec that was causing full stream failure
* If you're still hitting this **on stream load** (not after it plays for a while), please let me know
* Added a note for when the problem is related to transcoding specifically
* Dolby Vision Profile 5 titles now transcode instead of failing to open (AVPlayer just can't open Profile 5)
* Pick multiple Collections (instead of just one) for Gap Content in a Lineup
* Marathon TV Show Channels
* A new Channel type in the Channel Manager
* Only available in Lineups with at least 1 TV Show library in them
* Pick up to 15 shows - each one gets its own channel
* Lineup Config layout change
* Moved all of the channel-specific controls into the Channel rows themselves to save space and to make it clear how to edit your Genre, Decade, Collection, Playlist, and Marathon channels
* Much cleaner, looks great on all devices
* V1 Jellyfin Support
* I wrote a plugin for JF - https://github.com/OutToLunchPro/CoaxJellyfinPlugin - to help with the channel generation speed, and boy do I wish Plex would allow plugins back into the mix
* This is still really early, but it's shippable and I'll work on improving it over time
* Bug fixes
* Fixed some crashes on cold launch and when changing channels
* Collection + Playlists properly honor the "Preserve Order" setting under all conditions
* Schedule Grid alignment - this drifted again, but it's back in line now
* Fixed Watched/Unwatched bug
1.2.6 5 Jun
tvOS Specific Fixes
• Fixed some "jumping around" the guide would do when changing channels
• Fixed a bug where the Program Info would only show once the channel change was completed in Full Screen
All Platforms:
• Logs now take a guess at what might be causing failures - this is deterministic and not powered by LLMs, and you can still just hit "Send to Developer" if you like
• Managed Profiles & User Switching: Added support for multi-user profiles, user switching, per-user age caps, and a "Resuming-as" banner
• Enhanced Playback Engine & 4K Optimization:Tuned buffering for faster 4K cold-starts, better transcoding session rotation to stop so many "Stream Failed" situations
• Audio Lip-Sync & Container Fixes: Forced an audio transcode mitigation for MKV + Dolby Digital files to eliminate lip-sync drift
• Smart Subtitle Burn-in: Improved rendering and forced subtitle burn-in for complex ASS/SSA subtitle tracks
• Buffering Screen + Message: Added a patient buffering overlay that cycles through movie quotes on slow connections before a stream fails
• Persistent Volume Control: Your volume selection now persists across app launches and stays synced when closing or reopening the guide
• Stream Options Breakdown: Added a per-column delivery status view showing precise reasons why a stream is transcoding or burning subtitles
• Manual Media Stream Selection: If you want to force a specific version of a media item to play, you can do that now (auto-select still works, but you can override it with this)
1.2.5 18 May
• Added SharePlay support (access this in Full Screen mode during a FaceTime call)
• Added a Playlist channel category
• Playback improvements: support for unlabeled subtitles, mitigation of ac3 encoding bug
• Allow filtering by Watched status
• Login flow improvements on tvOS
• Logs view improvements on tvOS
• Send to Developer button for logs - makes debugging easier!
Full release notes available at https://reddit.com/r/coax
1.2.4 11 May
Major overhaul of the video playback engine. Can now support many more video formats and containers - MKV, 4K, HDR, certain DolbyVision color profiles... all now capable of streaming directly from your Plex Media Server without transcoding.
Completely new and magical feature: remote schedule control! If you're watching Coax on your AppleTV, open Coax on your iPhone or iPad to browse the schedule there, and tap to change the channel. You have to try it!
Some more quality of life upgrades:
• For each Collection channel, you can tell the scheduler to Preseve Order. The starting point will be random, but the items in your custom channels will play in whatever order you've set in your Collection
• Use the new Hide Info button to expand the video so you can see more of your playback while browsing the schedule channels
• Various other UI tweaks so that it looks great, everywhere
1.2.3 2 May
# New Stuff
* Customizable Channel Counts
* I went back and forth on this for a bit - I'm extremely skeptical of anything that might intrude on the "Zero Config" nature of the app
* It's pretty straightforward - I added a new option to the Channel Amount slider, Custom
* If you choose Custom, you'll see some counters by these channel categories: Actor, Director, Studio
* For Genre, Decade, and Collection, you can set the number of instances for each specific one in the same place you'd set the Show/Hide toggle
* Easy!
* Gap Content improvements
* Library gap content can now be scoped to a specific Plex Collection within that Library ("All" is still the default)
* More variety in the items selected for gap content (I hope!)
* Changing gap settings no longer forces a schedule rebuild
* Lineup configuration is more sensibly organized
* Closed Captioning (Subtitles, but cooler!)
* Coax now honors the system CC+SDH accessibility toggle — CC turns on automatically when the OS says to, and your manually-picked track is remembered when you turn it off
* This is an important accessibility feature (h/t Daring Fireball) that I wish I had finished implementing sooner. An embarassing omission, to be sure
* Logging
* A new in-app Log Viewer, accessible from About This App on every platform — makes troubleshooting (and bug reports) way easier
* These logs are fully on-device, and you can disable them completely if you like
* If you **choose**, you can send these logs in an email, maybe even to your favorite Coax developer in case they're trying to fix a bug for you
* But it's up to you - this is your data
* Trial duration is now 60 minutes (was 10) so folks can spend a little more time with it before being put to a decision
* You can also dismiss the cable guide view from the paywall
* All Localizations up to 100%
* If you're a native speaker and have corrections, please email them to relaxwithcoax@gmail.com
Because none of this UI shows up until you select a Custom channel amount, I think it won't bother anyone who doesn't want it. For power-users, I think it'll be an easy and obvious win for dialing in what their schedules look like. Thanks to u/kyleyeezus for the feature request!
# Bug Fixes
* Continuous background playback is now even MORE reliable than it was
* It's still not perfect and it really seems like a constantly moving target, but it feels like it works more
* Fixed bug where the app will _resume_ playing if you moved it to the background while it was playing
* Inferring user intent (I want it to keep playing vs. I want it to stop) has proven tricky, but I think I got it
* Static now will only appear when changing channels (transitioning to the next item is now seamless)
* Same for the text overlay in full-screen
* tvOS focus landing on the wrong channel — exiting full screen, or deep-linking in from Top Shelf, now lands you on the channel you're actually watching instead of somewhere at the top of the list
* Schedule regeneration from the Lineups list works reliably when a schedule is marked out of date, and a **Pull to Refresh** will extend all of your Lineups
* Cross-library Collection Channels work as expected now - you'll see movies and tv show episodes from Collections with the same name scheduled in the same channel
* The Collection name has to be _exactly_ the same in all libraries
1.2.1 23 Apr
Introducing Lineups, the frictionless way to create fully custom channel guides. You can set the Channel Categories, set Released Date ranges, set Age Group ranges, and Schedule Rules.
Also, all schedules are now available to browse in a "Printed" version! Swipe through the pages of your guide and see what's coming up in your schedule over the next 8 hours.
There's a lot of bug fixes in this release as well:
• Updated translations for all supported languages
• Family Sharing should work more reliably now (use the Restore Purchases button)
• Fixed a bug where a large Gap Content Library caused a crash
• Reduced "consecutive" scheduling - the same media item shouldn't appear multiple times in a row anymore
1.2 15 Apr
Hotfix update to prevent crashing on launch in tvOS 26.4
1.1.82 1 Apr
Bug Fixes & Improvements
• Fixed an issue where audio could be interrupted unexpectedly during playback
• Fixed an issue where channels weren't scheduling out far enough
• Fixed Now Playing widget showing incorrect timestamps when the app is in the background
• Fixed trailers not playing in random order
• Episode season and episode numbers now appear on all devices
• Decade channel names are now correctly pluralized (e.g. "1990s")
1.1.81 30 Mar
New Features:
• Now the time in-between programs can be filled with movie trailers or content from the library of your choosing! Commercials, music videos, whatever you have lying around
• Added a new super-retro look to the Full Screen view when using the Retro Theme
Bug Fixes:
• More reliably entered PiP mode on iOS devices
• Stream health monitoring improvements to prevent seeing the "Exiting In..." message just because the stream dropped for a second
• Added library configuration information to the Preparing Cable Guide view so you can see what's going to influence your Schedule
1.1.8 27 Mar
Big bug fix: channel guide refresh (especially when coming back to the app after it has been in the background for a while) no longer freezes! Updating the channels is now also much faster.
Collection channel scheduling randomization increased while reducing the amount of time spent "Preparing cable guide".
1.1.7 19 Mar
Headline Features
• Localization
• Spanish
• German
• French
• French (Canada)
• Hungarian
• Slovak
• Chinese (Simplified)
• VoiceOver enabled on most-used views
• Also localized!!
• Set quality ceiling in the Stream Options view
Bug Fixes
• Continuous playback in background mode (leave it on in the background!)
• Chaos Mode now honors the Gaps in Schedule rule
• Gave the Stream Options view a little upgrade
1.1.6 16 Mar
UI/UX Fixes
• Enable/disable touch target for a ChannelCategory is now the entire row, not just the checkmark
Scheduling Fixes
• Leaving the schedule open all day should work now - it will just keep scheduling more content
Playback/Streaming Fixes
• Improved stall vs. pause detection
• Returning from Picture-in-Picture playback no longer causes static
New Feature: Parental Controls
• Requires authorizing via biometrics or a pin
• Changing the global rating limits will erase all schedules
• If you've hidden a library, locking the parental controls (even if you haven't set any limits) will hide that library completely from view (until you unlock the parental controls again)
New Feature: Multi-window support added to visionOS
• It looks great! You can still have a single window if you like
• Immersive environments are planned but I haven't really started on them
1.1.5 13 Mar
New features:
• If you want to prevent specific items from scheduling, create a Plex Collection named "NoCoax" (exactly that!) and add items to it. For TV libraries, you'll need to create one for shows, one for seasons, and one for individual episodes. For Movie libraries, you just need one.
• At the very bottom of the Library Config view, you can "reset" your collection and genre data to force a refresh from the server - this will allow you to see new schedules based on changes in your Plex library as soon as you make them, if you really want them
Bug fixes:
• Exiting In... no longer appearing when not paused
• TV Library fixes - 40-80% more random, missing collection channel fixed
• tvOS navigation fix for Stream Options (should dismiss properly now)
1.1.4 8 Mar
• AirPods & widget controls — Playback is now synced to Now Playing, so you can pause and resume from your AirPods or the lock screen widget.
• Smarter streaming — Coax now makes a smarter transcode vs. direct play decision for each item, checking all available media formats before falling back to transcoding. This means fewer unnecessary transcodes and smoother playback.
• Stream info in the guide — You can now see whether your stream is playing directly or being transcoded when a new stream loads (if you turn that on)
• tvOS polish — A round of UI improvements for the Apple TV experience, including better overlays and stream option adjustments.
• Bug fixes and reliability improvements throughout
1.1.3 4 Mar
Removed the announcement banner that was only meant for TestFlight beta testers
1.1.1 26 Feb
EVERYWHERE ENHANCEMENTS
• The Lineup Configurator is now much more intuitive
◦ Description text for options now tells you explicitly what the option does, and what outcome to expect
• Estimate how long your schedule will take to generate based on your channels and server response time
◦ Helps you decide if those 200 extra channels are worth the wait
• Dedicated editor view instead of overlays with low information density
◦ I know this is a bit boring but I had to strip it down a bit - things were way too cumbersome
Overall, I'm hoping that this will make the Lineup creation much less intimidating, and will help folks feel more comfortable making changes because they're confident they understand what each change will do to their schedule.
Also, I lied when I said I only focused on macOS enhancements for this cycle. I have some very exciting news which is that Schedules are now reliably stable across all your devices!
CROSS-DEVICE SCHEDULE SYNC (INCLUDING MARATHONS)
• Make a Lineup on your mac, schedule it, watch for a bit, notice that The Blues Brothers is coming on in 3 hours while you're gonna be out
• No problem! Your phone will have the same Lineup and the same schedule, no matter where you go
• If someone is watching the same Lineup you are, you can watch the same stuff on the same channels
And a few bits and bobs
BUG FIXES
• Actor, Director, and Studio channels could quietly start playing somebody else's movies after a background schedule refresh — the channel kept its name while the content wandered off (one memorable evening, everything became Danny Boyle films)
◦ Fixed: these channels now remember exactly who they belong to, and a refresh can only fetch that person's stuff
• Rescheduling TV Marathon Mode-impacted channels (NOT the orange Marathon channels, which is my fault for naming them so confusingly) should be working again
• Login issues related to when a token is expired on the media server side
• Jellyfin would sometimes force transcoding for image-based subtitles, resulting in a double-subtitle. A double subble, if you will.
more Version 1.4.8 16 hr ago
Data Not Linked to You The following data may be collected but it is not linked to your identity: