agent_servers: Include result text in Claude error messages (#35156)

Ben Brandt created

This will better surfaces issues that are classified as "success" but
actually have a more meaningful error message attached.

Release Notes:

- N/A

Change summary

crates/agent_servers/src/claude.rs | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

Detailed changes

crates/agent_servers/src/claude.rs 🔗

@@ -414,11 +414,19 @@ impl ClaudeAgentSession {
                 }
             }
             SdkMessage::Result {
-                is_error, subtype, ..
+                is_error,
+                subtype,
+                result,
+                ..
             } => {
                 if let Some(end_turn_tx) = end_turn_tx.borrow_mut().take() {
                     if is_error {
-                        end_turn_tx.send(Err(anyhow!("Error: {subtype}"))).ok();
+                        end_turn_tx
+                            .send(Err(anyhow!(
+                                "Error: {}",
+                                result.unwrap_or_else(|| subtype.to_string())
+                            )))
+                            .ok();
                     } else {
                         end_turn_tx.send(Ok(())).ok();
                     }