BerriAI/litellm · error · Exception

POSTHOG_API_KEY is not set, set 'POSTHOG_API_KEY=<>'

Error message

POSTHOG_API_KEY is not set, set 'POSTHOG_API_KEY=<>'

What it means

Error "POSTHOG_API_KEY is not set, set 'POSTHOG_API_KEY=<>'" thrown in BerriAI/litellm.

Source

Thrown at litellm/integrations/posthog.py:55

class PostHogLogger(CustomBatchLogger):
    def __init__(self, **kwargs):
        """
        Initializes the PostHog logger, checks if the correct env variables are set

        Required environment variables:
        `POSTHOG_API_KEY` - your PostHog API key
        `POSTHOG_API_URL` - your PostHog API URL (defaults to https://app.posthog.com)
        """
        try:
            verbose_logger.debug("PostHog: in init posthog logger")

            self.is_mock_mode = should_use_posthog_mock()
            if self.is_mock_mode:
                create_mock_posthog_client()
                verbose_logger.debug("[POSTHOG MOCK] PostHog logger initialized in mock mode")

            if os.getenv("POSTHOG_API_KEY", None) is None:
                raise Exception("POSTHOG_API_KEY is not set, set 'POSTHOG_API_KEY=<>'")

            self.async_client = get_async_httpx_client(llm_provider=httpxSpecialProvider.LoggingCallback)
            self.sync_client = _get_httpx_client()

            self.POSTHOG_API_KEY = os.getenv("POSTHOG_API_KEY")
            posthog_api_url: Final = os.getenv("POSTHOG_API_URL", "https://us.i.posthog.com")
            self.posthog_host = posthog_api_url.rstrip("/")
            self.capture_url = f"{self.posthog_host}/batch/"

            self._async_initialized = False
            self.flush_lock = None
            self.log_queue = []

            # Register cleanup handler to flush internal queue on exit
            atexit.register(self._flush_on_exit)

            super().__init__(**kwargs, flush_lock=None, batch_size=POSTHOG_MAX_BATCH_SIZE)

View on GitHub (pinned to 6c2dcb801b)

Solutions

  1. Set POSTHOG_API_KEY in the environment.

When it happens

Trigger: Thrown at litellm/integrations/posthog.py:55 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@6c2dcb801b (2026-08-15). Data as JSON: /api/errors/ac7d710b7a01dac0. Report an issue: GitHub.