{"record":{"id":"bd1c58ea9a13be2e","repo":"Kuberwastaken/claurst","slug":"rmcp-unsubscribe-failed","errorCode":null,"errorMessage":"rmcp unsubscribe '{}' failed: {}","messagePattern":"rmcp unsubscribe '(.+?)' failed: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-rust/crates/mcp/src/rmcp_backend.rs","lineNumber":593,"sourceCode":"            .peer\n            .get_prompt(params)\n            .await\n            .map_err(|e| anyhow::anyhow!(\"rmcp get_prompt '{}' failed: {}\", name, e))?;\n        Ok(convert_get_prompt_result(result))\n    }\n\n    async fn subscribe_resource(&self, uri: &str) -> anyhow::Result<()> {\n        self.peer\n            .subscribe(rmcp_model::SubscribeRequestParams::new(uri.to_string()))\n            .await\n            .map_err(|e| anyhow::anyhow!(\"rmcp subscribe '{}' failed: {}\", uri, e))\n    }\n\n    async fn unsubscribe_resource(&self, uri: &str) -> anyhow::Result<()> {\n        self.peer\n            .unsubscribe(rmcp_model::UnsubscribeRequestParams::new(uri.to_string()))\n            .await\n            .map_err(|e| anyhow::anyhow!(\"rmcp unsubscribe '{}' failed: {}\", uri, e))\n    }\n\n    fn subscribe_to_notifications(&self) -> BoxStream<'static, anyhow::Result<Value>> {\n        let notifications_rx = Arc::clone(&self.notifications_rx);\n        let (tx, rx) = mpsc::channel::<anyhow::Result<Value>>(100);\n        tokio::spawn(async move {\n            loop {\n                let next = {\n                    let mut receiver = notifications_rx.lock().await;\n                    receiver.recv().await\n                };\n                match next {\n                    Some(value) => {\n                        if tx.send(Ok(value)).await.is_err() {\n                            break;\n                        }\n                    }\n                    None => break,","sourceCodeStart":575,"sourceCodeEnd":611,"githubUrl":"https://github.com/Kuberwastaken/claurst/blob/b0637c97ec34144387cbf2f74f65df6d16a6cef1/src-rust/crates/mcp/src/rmcp_backend.rs#L575-L611","documentation":"The rmcp peer's `unsubscribe` call failed — the MCP server errored on the resources/unsubscribe request for the given URI (not subscribed, server-side failure, or connection-level error through the peer).","triggerScenarios":"Thrown at src-rust/crates/mcp/src/rmcp_backend.rs:593 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the subscription exists before unsubscribing","Check server logs for the unsubscribe reject reason","Treat as non-fatal if the subscription already expired server-side"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b0637c97ec34144387cbf2f74f65df6d16a6cef1","analyzedAt":"2026-09-10T00:24:58.650Z","contentChangedAt":"2026-09-10T00:24:58.650Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}