{"record":{"id":"a50597109e8addea","repo":"deepseek-ai/deepseek-harness","slug":"forbidden-a50597","errorCode":null,"errorMessage":"forbidden","messagePattern":"forbidden","errorType":"http","errorClass":null,"httpStatus":403,"severity":"error","filePath":"packages/client/connection/src/rpc-host.ts","lineNumber":104,"sourceCode":"      },\n    }\n  }\n\n  private register(\n    owner: Context,\n    channel: string,\n    handler: ConnectionRpcHandler,\n    options: ConnectionRpcHandlerOptions,\n  ): () => Promise<void> {\n    assertChannel(channel)\n    const trustedHosts = options.authority === 'loopback' ? [] : this.trustedHosts\n    const fetchHandler = rpcFetchHandler(channel, handler)\n    const route: WebRoute = {\n      kind: 'prefix',\n      path: channel,\n      handler: async (req, res) => {\n        if (!isTrustedApiRequest(req, trustedHosts)) {\n          res.writeHead(403)\n          res.end('forbidden')\n          return\n        }\n        await bridge(req, res, fetchHandler)\n      },\n    }\n    return owner.effect(\n      () => owner.webServer.register(route),\n      `client-connection: ${channel} rpc channel`,\n    )\n  }\n\n  private registerInterceptor(\n    owner: Context,\n    channel: string,\n    matches: ConnectionRpcEndpointMatcher,\n    handler: ConnectionRpcHandler,\n    options: ConnectionRpcHandlerOptions,","sourceCodeStart":86,"sourceCodeEnd":122,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/client/connection/src/rpc-host.ts#L86-L122","documentation":"Error \"forbidden\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/client/connection/src/rpc-host.ts:104 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Authenticate with a valid token/credential and ensure the principal has permission for the requested RPC method."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}