improvement: add useful error message when attempting to use unauthenticated cursor-agent (#5300)

Signed-off-by: Alex Holder <alexeeyre@gmail.com>
This commit is contained in:
Alex Holder
2025-11-04 17:54:28 +00:00
committed by GitHub
parent b5eaa6a3e4
commit 1437d1fc1c
@@ -47,6 +47,17 @@ impl CursorAgentProvider {
})
}
/// Get authentication status from cursor-agent
async fn get_authentication_status(&self) -> bool {
Command::new(&self.command)
.arg("status")
.output()
.await
.ok()
.map(|output| String::from_utf8_lossy(&output.stdout).contains("✓ Logged in as"))
.unwrap_or(false)
}
/// Search for cursor-agent executable in common installation locations
fn find_cursor_agent_executable(command_name: &str) -> Option<String> {
let home = std::env::var("HOME").ok()?;
@@ -319,6 +330,11 @@ impl CursorAgentProvider {
})?;
if !exit_status.success() {
if !self.get_authentication_status().await {
return Err(ProviderError::Authentication(
"You are not logged in to cursor-agent. Please run 'cursor-agent login' to authenticate first."
.to_string()));
}
return Err(ProviderError::RequestFailed(format!(
"Command failed with exit code: {:?}",
exit_status.code()