{"record":{"id":"e986f43043a2dcb8","repo":"Hmbown/CodeWhale","slug":"no-saved-sessions-found-for-workspace","errorCode":null,"errorMessage":"No saved sessions found for workspace {}.","messagePattern":"No saved sessions found for workspace (.+?)\\.","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/tui/src/lib.rs","lineNumber":7836,"sourceCode":"}\n\nfn latest_session_id_for_workspace(workspace: &Path) -> std::io::Result<Option<String>> {\n    let manager = SessionManager::default_location()?;\n    Ok(manager\n        .get_latest_session_for_workspace(workspace)?\n        .map(|session| session.id))\n}\n\nfn fork_session(\n    config: &Config,\n    session_id: Option<String>,\n    last: bool,\n    workspace: &Path,\n) -> Result<String> {\n    let manager = SessionManager::default_location()?;\n    let saved = if last {\n        let Some(meta) = manager.get_latest_session_for_workspace(workspace)? else {\n            bail!(\n                \"No saved sessions found for workspace {}.\",\n                workspace.display()\n            );\n        };\n        manager.load_session(&meta.id)?\n    } else {\n        let id = resolve_session_id(session_id, false, workspace)?;\n        manager.load_session_by_prefix(&id)?\n    };\n    let saved_provider_identity = saved\n        .metadata\n        .model_provider_id\n        .as_deref()\n        .filter(|identity| !identity.trim().is_empty())\n        .unwrap_or(&saved.metadata.model_provider);\n    let provider_identity = config\n        .resolve_persisted_provider_identity(\n            Some(&saved.metadata.model_provider),","sourceCodeStart":7818,"sourceCodeEnd":7854,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/tui/src/lib.rs#L7818-L7854","documentation":"fork_session(--last) asks SessionManager for the newest session recorded for the current workspace; when get_latest_session_for_workspace() returns None it bails with the workspace path. Sessions are tracked per workspace, so history recorded in another checkout does not help.","triggerScenarios":"`codewhale fork --last` in a workspace where no session has ever been saved (or the store for this workspace is empty). The explicit-id path (resolve_session_id) has its own errors.","commonSituations":"Fresh clone or brand-new project directory; sessions live under a different workspace path; running the command from the wrong cwd.","solutions":["Create history first: run a session in this workspace, then retry `fork --last`","Or fork a specific known session by its id instead of --last","Double-check you are in the workspace directory the sessions belong to"],"exampleFix":"// before\n$ codewhale fork --last\nError: No saved sessions found for workspace /repo.\n\n// after: make history once, then fork it\n$ codewhale          # start a session in this workspace, exit\n$ codewhale fork --last\n// or: $ codewhale fork <session-id>","handlingStrategy":"validation","validationCode":"let manager = SessionManager::default_location()?;\nlet latest = manager.get_latest_session_for_workspace(workspace)?;\nif latest.is_none() { /* tell the user to create a session first */ }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Check cwd matches the workspace whose sessions you mean to fork","Prefer explicit session ids in automation over --last"],"tags":["sessions","fork","workspace","not-found"],"backgroundTag":"session-not-found","analyzedSha":"0c42157ee52f9d55af2b506d71b46249910f77d3","analyzedAt":"2026-08-20T21:50:45.477Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}