@@ -803,7 +803,9 @@ def __init__(
803803 tags and an event's own properties override them.
804804 super_options: Capture options for every captured event, such as
805805 ``{"cookieless_mode": True}``. Context options and an event's
806- own ``options`` override them.
806+ own ``options`` override them. They also win over an event's
807+ legacy property for the same key, such as ``$cookieless_mode``,
808+ so pass per-event overrides of that key as ``options``.
807809 enable_exception_autocapture: Automatically capture uncaught
808810 exceptions.
809811 log_captured_exceptions: Also log exceptions captured by error
@@ -1326,6 +1328,9 @@ def set_context_option(self, key: str, value: Any) -> None:
13261328 """
13271329 Set a capture option for every event captured within the current context.
13281330
1331+ Context options override ``super_options``. An event's own ``options``
1332+ override context options.
1333+
13291334 Args:
13301335 key: The option name, such as ``"process_person_profile"``.
13311336 value: The option value, sent as given.
@@ -1667,8 +1672,10 @@ def capture(
16671672 disable_geoip: Whether to disable GeoIP for this event.
16681673 options: Capture options for this event, such as
16691674 ``{"process_person_profile": False}``. Sent as given, for
1670- PostHog to validate. An option wins over its legacy ``$``
1671- property, such as ``$process_person_profile``.
1675+ PostHog to validate. They override context options and
1676+ ``super_options``. An option set at any layer wins over its
1677+ legacy ``$`` property, such as ``$process_person_profile``,
1678+ set at any layer. A ``None`` option counts as unset.
16721679
16731680 Examples:
16741681 ```python
0 commit comments