diff --git a/cirq/circuits/circuit.py b/cirq/circuits/circuit.py
index <HASH>..<HASH> 100644
--- a/cirq/circuits/circuit.py
+++ b/cirq/circuits/circuit.py
@@ -135,6 +135,9 @@ class Circuit:
     def copy(self) -> 'Circuit':
         return Circuit(self._moments, self._device)
 
+    def __bool__(self):
+        return bool(self._moments)
+
     def __eq__(self, other):
         if not isinstance(other, type(self)):
             return NotImplemented
diff --git a/cirq/circuits/circuit_test.py b/cirq/circuits/circuit_test.py
index <HASH>..<HASH> 100644
--- a/cirq/circuits/circuit_test.py
+++ b/cirq/circuits/circuit_test.py
@@ -126,6 +126,11 @@ def test_append_moments():
     ])
 
 
+def test_bool():
+    assert not Circuit()
+    assert Circuit.from_ops(cirq.X(cirq.NamedQubit('a')))
+
+
 @cirq.testing.only_test_in_python3
 def test_repr():
     assert repr(cirq.Circuit()) == 'cirq.Circuit()'
define bool for Circuit (#<I>)