{"record":{"id":"d3df5d51f5845ffe","repo":"Hmbown/CodeWhale","slug":"agent-agent-id-not-found","errorCode":null,"errorMessage":"Agent {agent_id} not found","messagePattern":"Agent (.+?) not found","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/tui/src/tools/subagent/mod.rs","lineNumber":5279,"sourceCode":"            if matches!(result.status, SubAgentStatus::Completed)\n                && let Some(summary_text) = result.result.as_deref()\n                && let Some(workspace) = result.workspace.as_deref()\n                && let Some(taint) =\n                    claimed_diff_taint(summary_text, workspace, Some(record.created_at_ms))\n            {\n                record.verification = taint;\n            }\n        }\n        self.record_worker_event(worker_id, status, message, Some(result.steps_taken), None);\n    }\n\n    pub fn cancel_agent(&mut self, agent_ref: &str) -> Result<SubAgentResult> {\n        let agent_id = self.resolve_agent_ref(agent_ref)?;\n        let mut terminal = {\n            let agent = self\n                .agents\n                .get(&agent_id)\n                .ok_or_else(|| anyhow!(\"Agent {agent_id} not found\"))?;\n            if agent.status != SubAgentStatus::Running || agent.completion_claimed {\n                return Ok(agent.snapshot());\n            }\n            agent.snapshot()\n        };\n        terminal.status = SubAgentStatus::Cancelled;\n        terminal.result = Some(\"Cancelled by parent request.\".to_string());\n        terminal.needs_input = None;\n        if !self.finish_terminal_result(&agent_id, terminal, true, true) {\n            return self.get_result(&agent_id);\n        }\n        self.get_result(&agent_id)\n    }\n\n    pub(crate) fn cancel_agent_for_session(\n        &mut self,\n        active_session_id: &str,\n        agent_ref: &str,","sourceCodeStart":5261,"sourceCodeEnd":5297,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/tui/src/tools/subagent/mod.rs#L5261-L5297","documentation":"Lookup failure in cancel_agent/resolve paths: no sub-agent matches the given agent_ref (id or alias). Raised by resolve_agent_ref when the agents map contains no entry for the resolved agent_id — the agent completed and was reaped, was never spawned, or belongs to a different session.","triggerScenarios":"Thrown at crates/tui/src/tools/subagent/mod.rs:5279 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["List live agents to confirm the id/alias before cancelling","Use the exact agent id returned at spawn time","If the agent already finished, its result may be in the completed records instead"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0c42157ee52f9d55af2b506d71b46249910f77d3","analyzedAt":"2026-08-20T21:50:45.477Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}