diff options
Diffstat (limited to 'packages/tui')
| -rw-r--r-- | packages/tui/internal/components/chat/message.go | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/packages/tui/internal/components/chat/message.go b/packages/tui/internal/components/chat/message.go index 188dfee87..c72ad6e24 100644 --- a/packages/tui/internal/components/chat/message.go +++ b/packages/tui/internal/components/chat/message.go @@ -554,6 +554,17 @@ func renderToolDetails( title := renderToolTitle(toolCall, width) title = style.Render(title) content := title + "\n" + body + + if toolCall.State.Status == opencode.ToolPartStateStatusError { + errorStyle := styles.NewStyle(). + Background(backgroundColor). + Foreground(t.Error()). + Padding(1, 2). + Width(width - 4) + errorContent := errorStyle.Render(toolCall.State.Error) + content += "\n" + errorContent + } + if permissionContent != "" { permissionContent = styles.NewStyle(). Background(backgroundColor). @@ -652,11 +663,17 @@ func renderToolDetails( } if error != "" { - body = styles.NewStyle(). + errorContent := styles.NewStyle(). Width(width - 6). Foreground(t.Error()). Background(backgroundColor). Render(error) + + if body == "" { + body = errorContent + } else { + body += "\n\n" + errorContent + } } if body == "" && error == "" && result != nil { |
