diff --git a/internal/agent/agent.go b/internal/agent/agent.go index 7023e386eca2b07e8c5f9293fc9d5be86c8f6849..5fbdbc539ad8ae2c887d27ac290dfa6ba157e447 100644 --- a/internal/agent/agent.go +++ b/internal/agent/agent.go @@ -276,6 +276,13 @@ func (a *sessionAgent) Run(ctx context.Context, call SessionAgentCall) (*fantasy return a.messages.Update(genCtx, *currentAssistant) }, OnTextDelta: func(id string, text string) error { + // Strip leading newline from initial text content. This is is + // particularly important in non-interactive mode where leading + // newlines are very visible. + if len(currentAssistant.Parts) == 0 && strings.HasPrefix(text, "\n") { + text = strings.TrimPrefix(text, "\n") + } + currentAssistant.AppendContent(text) return a.messages.Update(genCtx, *currentAssistant) },