diff --git a/cmd/juju/action/common.go b/cmd/juju/action/common.go
index <HASH>..<HASH> 100644
--- a/cmd/juju/action/common.go
+++ b/cmd/juju/action/common.go
@@ -166,7 +166,8 @@ func (c *runCommandBase) processOperationResults(ctx *cmd.Context, results *acti
 the following task%s failed:
 %s
 
-`[1:], plural, strings.Join(list, "\n"))
+use 'juju show-task' to inspect the failure%s
+`[1:], plural, strings.Join(list, "\n"), plural)
 	}
 	return nil
 }
diff --git a/cmd/juju/action/exec_test.go b/cmd/juju/action/exec_test.go
index <HASH>..<HASH> 100644
--- a/cmd/juju/action/exec_test.go
+++ b/cmd/juju/action/exec_test.go
@@ -396,6 +396,7 @@ func (s *ExecSuite) TestAllMachinesWithError(c *gc.C) {
  - id "1" with return code 2
  - id "2" with return code 1
 
+use 'juju show-task' to inspect the failures
 `)
 
 	c.Check(cmdtesting.Stdout(context), gc.Equals, `
@@ -707,6 +708,7 @@ Waiting for task 1...
 the following task failed:
  - id "1" with return code 42
 
+use 'juju show-task' to inspect the failure
 `[1:]
 
 	for i, test := range []struct {
Actions: Improve error message

Give hints about where to go next if there was a failure. This just
improves juju usability.