{"record":{"id":"2805f0acaf01f9c4","repo":"zed-industries/zed","slug":"git-config-isn-t-support-for-project-guests","errorCode":null,"errorMessage":"Git Config isn't support for project guests","messagePattern":"Git Config isn't support for project guests","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/project/src/git_store.rs","lineNumber":3187,"sourceCode":"                    }\n                })\n            }\n        }\n    }\n\n    pub fn git_config(&self, path: Arc<Path>, args: Vec<String>, cx: &App) -> Task<Result<String>> {\n        match &self.state {\n            GitStoreState::Local { fs, .. } => {\n                let fs = fs.clone();\n                cx.background_executor()\n                    .spawn(async move { fs.git_config(&path, args).await })\n            }\n            GitStoreState::Remote {\n                upstream_client, ..\n            } => {\n                // Prevent running git config commands for collab.\n                if upstream_client.is_via_collab() {\n                    return Task::ready(Err(anyhow!(\n                        \"Git Config isn't support for project guests\"\n                    )));\n                }\n\n                // TODO: Implement this for remote repositories.\n                Task::ready(Err(anyhow!(\n                    \"Git Config isn't yet supported for remote projects\"\n                )))\n            }\n        }\n    }\n\n    async fn handle_update_repository(\n        this: Entity<Self>,\n        envelope: TypedEnvelope<proto::UpdateRepository>,\n        mut cx: AsyncApp,\n    ) -> Result<()> {\n        this.update(&mut cx, |this, cx| {","sourceCodeStart":3169,"sourceCodeEnd":3205,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/project/src/git_store.rs#L3169-L3205","documentation":"A project guest attempted to run a git config command; the remote GitStoreState path contains an explicit guard rejecting git config for collab participants, since arbitrary config commands are not proxied to the host.","triggerScenarios":"Thrown at crates/project/src/git_store.rs:3187 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Run the git config command in your own terminal against a local clone","Ask the host to change the configuration if it affects the shared project"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}