RLS policy with join not working

I've structured my insert RLS policy to what I think would work based on the docs and my tables:
(has_course(( SELECT course_id
   FROM thread
  WHERE (thread_id = id)), uid()) AND (user_id = uid()))

However when I save and try it, I get an RLS error. Then when I go into the policy editor, it changes to:
(has_course(( SELECT thread.course_id
   FROM thread
  WHERE (reply.thread_id = thread.id)), uid()) AND (user_id = uid()))

Which might just be a more explicit version that Supabase automatically updates to? Either way, I can't seem to get this policy working right.
Was this page helpful?