Error: FIRESTORE (12.13.0) INTERNAL ASSERTION FAILED: Unexpected state (ID: b815) CONTEXT: {"messageOrStack":"Error: FIRESTORE (12.13.0) INTERNAL ASSERTION FAILED: Unexpected state (ID: ca9) CONTEXT: {\"pendingResponses\":-1}\n\tat _fail (dist/main.js:79950:11)\n\tat hardAssert (dist/main.js:79961:9)\n\tat TargetState.recordTargetResponse (dist/main.js:88485:9)\n\tat dist/main.js:88542:33\n\tat Array.forEach (<anonymous>)\n\tat WatchChangeAggregator.forEachTarget (dist/main.js:88590:36)\n\tat WatchChangeAggregator.handleTargetChange (dist/main.js:88531:14)\n\tat onWatchStreamChange (dist/main.js:105431:47)\n\tat PersistentListenStream.onNext (dist/main.js:104649:30)\n\tat dist/main.js:104584:33\n\tat dist/main.js:104616:28\n\tat dist/main.js:110333:13\n\tat dist/main.js:110381:20\n\tat process.processTicksAndRejections (node:internal/process/task_queues:103:5)"}
at _fail (dist/main.js:79950:11)
at fail (dist/main.js:79931:5)
at AsyncQueueImpl.verifyNotFailed (dist/main.js:110412:13)
at AsyncQueueImpl.enqueue (dist/main.js:110319:14)
at AsyncQueueImpl.enqueueAndForget (dist/main.js:110305:14)
at dist/main.js:109348:27
[2026-05-15T05:04:49.135Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection RPC 'Listen' stream 0x6548426c received: {
targetChange: {
targetIds: [],
targetChangeType: 'NO_CHANGE',
cause: null,
resumeToken: <Buffer 0a 09 08 a9 d9 d8 b7 c2 ba 94 03>,
readTime: { seconds: '1778821488', nanos: 848041000 }
}
}
[2026-05-15T05:04:49.135Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: Get last remote snapshot version
[2026-05-15T05:04:49.135Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: Apply remote event
[2026-05-15T05:04:49.135Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: notifyLocalViewChanges
[2026-05-15T05:04:57.232Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection RPC 'Listen' stream 0x65484268 received: {
targetChange: {
targetIds: [],
targetChangeType: 'NO_CHANGE',
cause: null,
resumeToken: <Buffer 0a 09 08 8e af c3 bb c2 ba 94 03>,
readTime: { seconds: '1778821496', nanos: 887182000 }
}
}
[2026-05-15T05:04:57.233Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: Get last remote snapshot version
[2026-05-15T05:04:57.233Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: Apply remote event
[2026-05-15T05:04:57.233Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: notifyLocalViewChanges
[2026-05-15T05:05:01.276Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection RPC 'Listen' stream 0x65484269 received: {
targetChange: {
targetIds: [],
targetChangeType: 'NO_CHANGE',
cause: null,
resumeToken: <Buffer 0a 09 08 d2 e6 cf bd c2 ba 94 03>,
readTime: { seconds: '1778821501', nanos: 285202000 }
}
}
[2026-05-15T05:05:01.276Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: Get last remote snapshot version
[2026-05-15T05:05:01.277Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: Apply remote event
[2026-05-15T05:05:01.277Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: notifyLocalViewChanges
[2026-05-15T05:05:04.955Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection Opening RPC 'Listen' stream 0x6548426d to firestore.googleapis.com
[2026-05-15T05:05:04.960Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection RPC 'Listen' stream 0x6548426d sending: {
database: 'projects/PROJECT_ID/databases/open',
addTarget: {
documents: {
documents: [
'projects/PROJECT_ID/databases/open/documents/orgs/ghr2yjj/repos/193215554'
]
},
targetId: 1010,
resumeToken: Uint8Array(11) [
10, 9, 8, 210, 230,
207, 189, 194, 186, 148,
3
],
expectedCount: { value: 1 }
}
}
[2026-05-15T05:05:05.135Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: Release target
[2026-05-15T05:05:05.135Z] @firebase/firestore: Firestore (12.13.0): RemoteStore remoteStoreUnlisten removing mapping of SDK target ID to remote 2 1010
[2026-05-15T05:05:05.135Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection RPC 'Listen' stream 0x6548426d sending: { database: 'projects/PROJECT_ID/databases/open', removeTarget: 1010 }
[2026-05-15T05:05:05.235Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: Allocate target
[2026-05-15T05:05:05.236Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: Execute query
[2026-05-15T05:05:05.236Z] @firebase/firestore: Firestore (12.13.0): QueryEngine Using full collection scan to execute query: Query(target=Target(orgs/ghr2yjj/repos/193215554, orderBy: [__name__ (asc)]); limitType=F)
[2026-05-15T05:05:05.237Z] @firebase/firestore: Firestore (12.13.0): RemoteStore remoteStoreListen mapping SDK target ID to remote 2 1012
[2026-05-15T05:05:05.237Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection RPC 'Listen' stream 0x6548426d sending: {
database: 'projects/PROJECT_ID/databases/open',
addTarget: {
documents: {
documents: [
'projects/PROJECT_ID/databases/open/documents/orgs/ghr2yjj/repos/193215554'
]
},
targetId: 1012,
resumeToken: Uint8Array(11) [
10, 9, 8, 210, 230,
207, 189, 194, 186, 148,
3
],
expectedCount: { value: 1 }
}
}
[2026-05-15T05:05:05.250Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection Opening RPC 'Listen' stream 0x6548426e to firestore.googleapis.com
[2026-05-15T05:05:05.254Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection RPC 'Listen' stream 0x6548426e sending: {
database: 'projects/PROJECT_ID/databases/open',
addTarget: {
documents: {
documents: [
'projects/PROJECT_ID/databases/open/documents/orgs/ghr2yjj/repos/193215554'
]
},
targetId: 1012,
resumeToken: Uint8Array(11) [
10, 9, 8, 210, 230,
207, 189, 194, 186, 148,
3
],
expectedCount: { value: 1 }
}
}
[2026-05-15T05:05:05.509Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection RPC 'Listen' stream 0x6548426b received: {
targetChange: {
targetIds: [],
targetChangeType: 'NO_CHANGE',
cause: null,
resumeToken: <Buffer 0a 09 08 d6 8c c1 bf c2 ba 94 03>,
readTime: { seconds: '1778821505', nanos: 238614000 }
}
}
[2026-05-15T05:05:05.509Z] @firebase/firestore: Firestore (12.13.0): WatchChangeAggregator Detected inactive target 1012
[2026-05-15T05:05:05.510Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: Get last remote snapshot version
[2026-05-15T05:05:05.510Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: Apply remote event
[2026-05-15T05:05:05.510Z] @firebase/firestore: Firestore (12.13.0): MemoryPersistence Starting transaction: notifyLocalViewChanges
[2026-05-15T05:05:05.511Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection RPC 'Listen' stream 0x6548426d received: {
targetChange: {
targetIds: [ 1010 ],
targetChangeType: 'ADD',
cause: null,
resumeToken: <Buffer >,
readTime: null
}
}
[2026-05-15T05:05:05.512Z] @firebase/firestore: Firestore (12.13.0): FIRESTORE (12.13.0) INTERNAL ASSERTION FAILED: Unexpected state (ID: ca9) CONTEXT: {"pendingResponses":-1}
[2026-05-15T05:05:05.513Z] @firebase/firestore: Firestore (12.13.0): INTERNAL UNHANDLED ERROR: Error: FIRESTORE (12.13.0) INTERNAL ASSERTION FAILED: Unexpected state (ID: ca9) CONTEXT: {"pendingResponses":-1}
at _fail (dist/main.js:79950:11)
at hardAssert (dist/main.js:79961:9)
at TargetState.recordTargetResponse (dist/main.js:88485:9)
at dist/main.js:88542:33
at Array.forEach (<anonymous>)
at WatchChangeAggregator.forEachTarget (dist/main.js:88590:36)
at WatchChangeAggregator.handleTargetChange (dist/main.js:88531:14)
at onWatchStreamChange (dist/main.js:105431:47)
at PersistentListenStream.onNext (dist/main.js:104649:30)
at dist/main.js:104584:33
at dist/main.js:104616:28
at dist/main.js:110333:13
at dist/main.js:110381:20
at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
[2026-05-15T05:05:05.513Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection RPC 'Listen' stream 0x6548426d received: {
targetChange: {
targetIds: [],
targetChangeType: 'NO_CHANGE',
cause: null,
resumeToken: <Buffer 0a 09 08 d2 e6 cf bd c2 ba 94 03>,
readTime: { seconds: '1778821501', nanos: 285202000 }
}
}
[2026-05-15T05:05:05.514Z] @firebase/firestore: Firestore (12.13.0): FIRESTORE (12.13.0) INTERNAL ASSERTION FAILED: Unexpected state (ID: b815) CONTEXT: {"messageOrStack":"Error: FIRESTORE (12.13.0) INTERNAL ASSERTION FAILED: Unexpected state (ID: ca9) CONTEXT: {\"pendingResponses\":-1}\n\tat _fail (dist/main.js:79950:11)\n\tat hardAssert (dist/main.js:79961:9)\n\tat TargetState.recordTargetResponse (dist/main.js:88485:9)\n\tat dist/main.js:88542:33\n\tat Array.forEach (<anonymous>)\n\tat WatchChangeAggregator.forEachTarget (dist/main.js:88590:36)\n\tat WatchChangeAggregator.handleTargetChange (dist/main.js:88531:14)\n\tat onWatchStreamChange (dist/main.js:105431:47)\n\tat PersistentListenStream.onNext (dist/main.js:104649:30)\n\tat dist/main.js:104584:33\n\tat dist/main.js:104616:28\n\tat dist/main.js:110333:13\n\tat dist/main.js:110381:20\n\tat process.processTicksAndRejections (node:internal/process/task_queues:103:5)"}
[2026-05-15T05:05:05.665Z] @firebase/firestore: Firestore (12.13.0): FIRESTORE (12.13.0) INTERNAL ASSERTION FAILED: Unexpected state (ID: b815) CONTEXT: {"messageOrStack":"Error: FIRESTORE (12.13.0) INTERNAL ASSERTION FAILED: Unexpected state (ID: ca9) CONTEXT: {\"pendingResponses\":-1}\n\tat _fail (dist/main.js:79950:11)\n\tat hardAssert (dist/main.js:79961:9)\n\tat TargetState.recordTargetResponse (dist/main.js:88485:9)\n\tat dist/main.js:88542:33\n\tat Array.forEach (<anonymous>)\n\tat WatchChangeAggregator.forEachTarget (dist/main.js:88590:36)\n\tat WatchChangeAggregator.handleTargetChange (dist/main.js:88531:14)\n\tat onWatchStreamChange (dist/main.js:105431:47)\n\tat PersistentListenStream.onNext (dist/main.js:104649:30)\n\tat dist/main.js:104584:33\n\tat dist/main.js:104616:28\n\tat dist/main.js:110333:13\n\tat dist/main.js:110381:20\n\tat process.processTicksAndRejections (node:internal/process/task_queues:103:5)"}
[2026-05-15T05:05:06.003Z] @firebase/firestore: Firestore (12.13.0): GrpcConnection RPC 'Listen' stream 0x6548426e received: {
targetChange: {
targetIds: [ 1012 ],
targetChangeType: 'ADD',
cause: null,
resumeToken: <Buffer >,
readTime: null
}
}
[2026-05-15T05:05:06.003Z] @firebase/firestore: Firestore (12.13.0): FIRESTORE (12.13.0) INTERNAL ASSERTION FAILED: Unexpected state (ID: b815) CONTEXT: {"messageOrStack":"Error: FIRESTORE (12.13.0) INTERNAL ASSERTION FAILED: Unexpected state (ID: ca9) CONTEXT: {\"pendingResponses\":-1}\n\tat _fail (dist/main.js:79950:11)\n\tat hardAssert (dist/main.js:79961:9)\n\tat TargetState.recordTargetResponse (dist/main.js:88485:9)\n\tat dist/main.js:88542:33\n\tat Array.forEach (<anonymous>)\n\tat WatchChangeAggregator.forEachTarget (dist/main.js:88590:36)\n\tat WatchChangeAggregator.handleTargetChange (dist/main.js:88531:14)\n\tat onWatchStreamChange (dist/main.js:105431:47)\n\tat PersistentListenStream.onNext (dist/main.js:104649:30)\n\tat dist/main.js:104584:33\n\tat dist/main.js:104616:28\n\tat dist/main.js:110333:13\n\tat dist/main.js:110381:20\n\tat process.processTicksAndRejections (node:internal/process/task_queues:103:5)"}
Not sure what is the cause exactly, what would be the best way to approach debugging this?
Operating System
Darwin arm64 25.2.0
Environment (if applicable)
Node.js: 22.22.1
Firebase SDK Version
12.13.0
Firebase SDK Product(s)
Firestore
Project Tooling
Detailed Problem Description
Steps and code to reproduce issue
Not sure what is the cause exactly, what would be the best way to approach debugging this?