diff --git a/grpc_stdio.go b/grpc_stdio.go
index <HASH>..<HASH> 100644
--- a/grpc_stdio.go
+++ b/grpc_stdio.go
@@ -134,6 +134,7 @@ func (c *grpcStdioClient) Run(stdout, stderr io.Writer) {
 		if err != nil {
 			if err == io.EOF ||
 				status.Code(err) == codes.Unavailable ||
+				status.Code(err) == codes.Canceled ||
 				err == context.Canceled {
 				c.log.Warn("received EOF, stopping recv loop", "err", err)
 				return
Exit stdio read loop on status code canceled too