{"record":{"id":"33b54c50947c6d34","repo":"paperclipai/paperclip","slug":"elicitation-not-supported","errorCode":"elicitation_not_supported","errorMessage":"MCP elicitation is not supported for non-interactive gateway clients","messagePattern":"MCP elicitation is not supported for non-interactive gateway clients","errorType":"http","errorClass":"ToolGatewayHttpError","httpStatus":409,"severity":"error","filePath":"server/src/services/tool-gateway.ts","lineNumber":3085,"sourceCode":"  function credentialVersionRefHash(value: Record<string, unknown>): string {\n    return stableHash(value);\n  }\n\n  async function resolveConnectedCredentialVersion(\n    connection: typeof toolConnections.$inferSelect,\n    input: {\n      secretId: string;\n      versionSelector: SecretVersionSelector | undefined;\n      configPath: string;\n      refHash: string;\n      requireResolved: boolean;\n    },\n  ): Promise<ConnectedCredentialVersionSnapshot> {\n    const versionSelector = input.versionSelector ?? \"latest\";\n    try {\n      const resolvedVersion = await secrets.resolveSecretVersion(connection.companyId, input.secretId, versionSelector);\n      return {\n        refHash: input.refHash,\n        versionSelector: String(versionSelector),\n        resolvedVersion,\n      };\n    } catch {\n      await markRemoteConnectionHealth(connection, \"missing_secret\", \"A configured credential secret could not be resolved.\");\n      if (input.requireResolved) {\n        throw new ToolGatewayHttpError(\n          422,\n          \"A configured credential secret could not be resolved.\",\n          \"mcp_remote_missing_secret\",\n          { connectionId: connection.id, credential: input.configPath },\n        );\n      }\n      return {\n        refHash: input.refHash,\n        versionSelector: String(versionSelector),\n        resolvedVersion: -1,\n      };","sourceCodeStart":3067,"sourceCodeEnd":3103,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/services/tool-gateway.ts#L3067-L3103","documentation":"An upstream MCP server sent an elicitation request, but the gateway client is non-interactive and the session has no issue thread to surface an ask on. The 409 fires in requestElicitationForRecordedToolCall because gateway tool calls cannot block on interactive input; the call must be deferred to an elicitation/approval interaction instead.","triggerScenarios":"Thrown at server/src/services/tool-gateway.ts:2942 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["This gateway client is non-interactive and cannot answer elicitation prompts. Use an interactive client or pre-supply the required input."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}