{"record":{"id":"72e51aa469725452","repo":"zed-industries/zed","slug":"devserverprojectpathdoesnotexist","errorCode":"DevServerProjectPathDoesNotExist","errorMessage":"DevServerProjectPathDoesNotExist","messagePattern":"DevServerProjectPathDoesNotExist","errorType":"error_code","errorClass":"RpcError","httpStatus":null,"severity":"error","filePath":"crates/remote_server/src/headless_project.rs","lineNumber":559,"sourceCode":"        message: TypedEnvelope<proto::AddWorktree>,\n        mut cx: AsyncApp,\n    ) -> Result<proto::AddWorktreeResponse> {\n        use client::ErrorCodeExt;\n        let fs = this.read_with(&cx, |this, _| this.fs.clone());\n        let path = PathBuf::from(shellexpand::tilde(&message.payload.path).to_string());\n\n        let canonicalized = match fs.canonicalize(&path).await {\n            Ok(path) => path,\n            Err(e) => {\n                let mut parent = path\n                    .parent()\n                    .ok_or(e)\n                    .with_context(|| format!(\"{path:?} does not exist\"))?;\n                if parent == Path::new(\"\") {\n                    parent = util::paths::home_dir();\n                }\n                let parent = fs.canonicalize(parent).await.map_err(|_| {\n                    anyhow!(\n                        proto::ErrorCode::DevServerProjectPathDoesNotExist\n                            .with_tag(\"path\", path.to_string_lossy().as_ref())\n                    )\n                })?;\n                if let Some(file_name) = path.file_name() {\n                    parent.join(file_name)\n                } else {\n                    parent\n                }\n            }\n        };\n        let next_worktree_id = this\n            .update(&mut cx, |this, cx| {\n                this.worktree_store\n                    .update(cx, |worktree_store, _| worktree_store.next_worktree_id())\n            })\n            .await?;\n        let worktree = this","sourceCodeStart":541,"sourceCodeEnd":577,"githubUrl":"https://github.com/zed-industries/zed/blob/9d272b036335401f339d024ea94968fd51016c40/crates/remote_server/src/headless_project.rs#L541-L577","documentation":"On the remote server, handle_add_worktree could not canonicalize the requested path and the error code DevServerProjectPathDoesNotExist is returned to indicate the path (nor its resolvable parent) exists on the remote host.","triggerScenarios":"Thrown at crates/remote_server/src/headless_project.rs:500 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Create the directory on the remote host first","Check for typos or missing tilde-expansion in the path"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9d272b036335401f339d024ea94968fd51016c40","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}