diff --git a/tea.go b/tea.go index 743a866e93..ce67fa8c9a 100644 --- a/tea.go +++ b/tea.go @@ -622,7 +622,7 @@ func (p *Program) Run() (Model, error) { model, err := p.eventLoop(model, cmds) killed := p.ctx.Err() != nil || err != nil if killed && err == nil { - err = fmt.Errorf("%w: %s", ErrProgramKilled, p.ctx.Err()) + err = fmt.Errorf("%w: %w", ErrProgramKilled, p.ctx.Err()) } if err == nil { // Ensure we rendered the final state of the model. diff --git a/tea_test.go b/tea_test.go index 981851be0b..8126ff019a 100644 --- a/tea_test.go +++ b/tea_test.go @@ -141,6 +141,10 @@ func TestTeaKill(t *testing.T) { if _, err := p.Run(); !errors.Is(err, ErrProgramKilled) { t.Fatalf("Expected %v, got %v", ErrProgramKilled, err) } + + if _, err := p.Run(); !errors.Is(err, context.Canceled) { + t.Fatalf("Expected %v, got %v", context.Canceled, err) + } } func TestTeaContext(t *testing.T) {