diff --git a/packages/core/src/telemetry/clearcut-logger/clearcut-logger.test.ts b/packages/core/src/telemetry/clearcut-logger/clearcut-logger.test.ts index 8af85e88d4..ba5dea789a 100644 --- a/packages/core/src/telemetry/clearcut-logger/clearcut-logger.test.ts +++ b/packages/core/src/telemetry/clearcut-logger/clearcut-logger.test.ts @@ -1281,4 +1281,14 @@ describe('ClearcutLogger', () => { ]); }); }); + + describe('logStartSessionEvent', () => { + it('should not throw if event is undefined', async () => { + const { logger } = setup(); + // @ts-expect-error - intentionally passing undefined to reproduce the issue + await expect( + logger?.logStartSessionEvent(undefined), + ).resolves.not.toThrow(); + }); + }); }); diff --git a/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts b/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts index 9417bbe983..b06caf8d79 100644 --- a/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts +++ b/packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts @@ -511,6 +511,9 @@ export class ClearcutLogger { } async logStartSessionEvent(event: StartSessionEvent): Promise { + if (!event) { + return; + } const data: EventValue[] = [ { gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_MODEL,