{"record":{"id":"e84e74ce53e2f140","repo":"Kong/insomnia","slug":"can-t-get-private-key-session-is-missing-keys","errorCode":null,"errorMessage":"Can't get private key: session is missing keys.","messagePattern":"Can't get private key: session is missing keys\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/insomnia-vcs/src/vcs.ts","lineNumber":1401,"sourceCode":"      // use the session symmetric key in playwright tests\n      return symmetricKey;\n    }\n\n    const encSymmetricKey = await this._queryBackendProjectKey();\n    const symmetricKeyStr = crypt.decryptRSAWithJWK(privateKey, encSymmetricKey);\n    return JSON.parse(symmetricKeyStr);\n  }\n\n  // TODO: This is a temporary solution to get the private key from the session.\n  async _getPrivateKey(sessionData?: UserSession): Promise<JsonWebKey> {\n    if (!sessionData) {\n      throw new Error(\"Can't get private key: session is blank.\");\n    }\n\n    const { symmetricKey, encPrivateKey } = sessionData;\n\n    if (!symmetricKey || !encPrivateKey) {\n      throw new Error(\"Can't get private key: session is missing keys.\");\n    }\n\n    const privateKeyStr = await crypt.decryptAES(symmetricKey, encPrivateKey);\n    return JSON.parse(privateKeyStr) as JsonWebKey;\n  }\n\n  async _assertBackendProject() {\n    const project = await this._getBackendProject();\n\n    if (project === null) {\n      throw new Error('Failed to find local backend project id=' + this._backendProjectId());\n    }\n\n    return project;\n  }\n\n  async _storeBackendProject(project: BackendProject) {\n    let existingProject: BackendProject | null = null;","sourceCodeStart":1383,"sourceCodeEnd":1419,"githubUrl":"https://github.com/Kong/insomnia/blob/d9bb2b0142600f21309832daea3317942d285984/packages/insomnia-vcs/src/vcs.ts#L1383-L1419","documentation":"Error \"Can't get private key: session is missing keys.\" thrown in Kong/insomnia.","triggerScenarios":"Thrown at packages/insomnia-vcs/src/vcs.ts:1401 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"d9bb2b0142600f21309832daea3317942d285984","analyzedAt":"2026-08-26T18:04:05.187Z","schemaVersion":2},"datasetVersion":"2026-08-26T21:11:00.512Z"}