diff --git a/cmd/podmanV2/containers/exists.go b/cmd/podmanV2/containers/exists.go
index 4f9e6c44aa..93989b54ae 100644
--- a/cmd/podmanV2/containers/exists.go
+++ b/cmd/podmanV2/containers/exists.go
@@ -29,11 +29,11 @@ func init() {
 }
 
 func exists(cmd *cobra.Command, args []string) error {
-	exists, err := registry.ContainerEngine().ContainerExists(context.Background(), args[0])
+	response, err := registry.ContainerEngine().ContainerExists(context.Background(), args[0])
 	if err != nil {
 		return err
 	}
-	if !exists {
+	if !response.Value {
 		os.Exit(1)
 	}
 	return nil
diff --git a/pkg/domain/entities/containers.go b/pkg/domain/entities/containers.go
index e688e4fd37..45ce1f1fba 100644
--- a/pkg/domain/entities/containers.go
+++ b/pkg/domain/entities/containers.go
@@ -13,3 +13,7 @@ type WaitReport struct {
 	Error    error
 	ExitCode int32
 }
+
+type BoolReport struct {
+	Value bool
+}
diff --git a/pkg/domain/entities/engine_container.go b/pkg/domain/entities/engine_container.go
index 53f8f88f58..aa2ceb6300 100644
--- a/pkg/domain/entities/engine_container.go
+++ b/pkg/domain/entities/engine_container.go
@@ -7,7 +7,7 @@ import (
 type ContainerEngine interface {
 	ContainerDelete(ctx context.Context, opts ContainerDeleteOptions) (*ContainerDeleteReport, error)
 	ContainerPrune(ctx context.Context) (*ContainerPruneReport, error)
-	ContainerExists(ctx context.Context, nameOrId string) (bool, error)
+	ContainerExists(ctx context.Context, nameOrId string) (*BoolReport, error)
 	ContainerWait(ctx context.Context, namesOrIds []string, options WaitOptions) ([]WaitReport, error)
 	PodDelete(ctx context.Context, opts PodPruneOptions) (*PodDeleteReport, error)
 	PodPrune(ctx context.Context) (*PodPruneReport, error)
diff --git a/pkg/domain/infra/abi/containers.go b/pkg/domain/infra/abi/containers.go
index 618e9a111e..2332c28740 100644
--- a/pkg/domain/infra/abi/containers.go
+++ b/pkg/domain/infra/abi/containers.go
@@ -12,12 +12,12 @@ import (
 )
 
 // TODO: Should return *entities.ContainerExistsReport, error
-func (ic *ContainerEngine) ContainerExists(ctx context.Context, nameOrId string) (bool, error) {
+func (ic *ContainerEngine) ContainerExists(ctx context.Context, nameOrId string) (*entities.BoolReport, error) {
 	_, err := ic.Libpod.LookupContainer(nameOrId)
 	if err != nil && errors.Cause(err) != define.ErrNoSuchCtr {
-		return false, err
+		return nil, err
 	}
-	return err == nil, nil
+	return &entities.BoolReport{Value: err == nil}, nil
 }
 
 func (ic *ContainerEngine) ContainerWait(ctx context.Context, namesOrIds []string, options entities.WaitOptions) ([]entities.WaitReport, error) {
diff --git a/pkg/domain/infra/tunnel/containers.go b/pkg/domain/infra/tunnel/containers.go
index 84b6f2906e..c869ad2f31 100644
--- a/pkg/domain/infra/tunnel/containers.go
+++ b/pkg/domain/infra/tunnel/containers.go
@@ -7,8 +7,9 @@ import (
 	"github.com/containers/libpod/pkg/domain/entities"
 )
 
-func (ic *ContainerEngine) ContainerExists(ctx context.Context, nameOrId string) (bool, error) {
-	return containers.Exists(ctx, nameOrId)
+func (ic *ContainerEngine) ContainerExists(ctx context.Context, nameOrId string) (*entities.BoolReport, error) {
+	exists, err := containers.Exists(ctx, nameOrId)
+	return &entities.BoolReport{Value: exists}, err
 }
 
 func (ic *ContainerEngine) ContainerWait(ctx context.Context, namesOrIds []string, options entities.WaitOptions) ([]entities.WaitReport, error) {