diff --git a/llm/conversation/convo.go b/llm/conversation/convo.go
index b6472e1..a52d494 100644
--- a/llm/conversation/convo.go
+++ b/llm/conversation/convo.go
@@ -484,8 +484,8 @@
 			defer cancel()
 			// TODO: move this into newToolUseContext?
 			toolUseCtx = context.WithValue(toolUseCtx, toolCallInfoKey, ToolCallInfo{ToolUseID: part.ID, Convo: c})
-			toolResult, err := tool.Run(toolUseCtx, part.ToolInput)
-			if errors.Is(err, ErrDoNotRespond) {
+			toolOut := tool.Run(toolUseCtx, part.ToolInput)
+			if errors.Is(toolOut.Error, ErrDoNotRespond) {
 				return
 			}
 			if toolUseCtx.Err() != nil {
@@ -493,11 +493,11 @@
 				return
 			}
 
-			if err != nil {
-				sendErr(err)
+			if toolOut.Error != nil {
+				sendErr(toolOut.Error)
 				return
 			}
-			sendRes(toolResult)
+			sendRes(toolOut.LLMContent)
 		}()
 	}
 	wg.Wait()
diff --git a/llm/llm.go b/llm/llm.go
index 3192ba9..2c1011e 100644
--- a/llm/llm.go
+++ b/llm/llm.go
@@ -90,7 +90,18 @@
 	// The outputs from Run will be sent back to Claude.
 	// If you do not want to respond to the tool call request from Claude, return ErrDoNotRespond.
 	// ctx contains extra (rarely used) tool call information; retrieve it with ToolCallInfoFromContext.
-	Run func(ctx context.Context, input json.RawMessage) ([]Content, error) `json:"-"`
+	Run func(ctx context.Context, input json.RawMessage) ToolOut `json:"-"`
+}
+
+// ToolOut represents the output of a tool run.
+type ToolOut struct {
+	// LLMContent is the output of the tool to be sent back to the LLM.
+	// May be nil on error.
+	LLMContent []Content
+	// Error is the error (if any) that occurred during the tool run.
+	// The text contents of the error will be sent back to the LLM.
+	// If non-nil, LLMContent will be ignored.
+	Error error
 }
 
 type Content struct {
@@ -270,3 +281,16 @@
 		Text: text,
 	}}
 }
+
+func ErrorToolOut(err error) ToolOut {
+	if err == nil {
+		panic("ErrorToolOut called with nil error")
+	}
+	return ToolOut{
+		Error: err,
+	}
+}
+
+func ErrorfToolOut(format string, args ...any) ToolOut {
+	return ErrorToolOut(fmt.Errorf(format, args...))
+}
