diff --git a/lib/taskrabbit/task.rb b/lib/taskrabbit/task.rb
index <HASH>..<HASH> 100644
--- a/lib/taskrabbit/task.rb
+++ b/lib/taskrabbit/task.rb
@@ -50,6 +50,10 @@ module Taskrabbit
       end
     end
 
+    def new_record?
+      !id
+    end
+
     def delete!
       reload('delete', "tasks/#{id.to_s}")
     end
diff --git a/spec/taskrabbit/task_spec.rb b/spec/taskrabbit/task_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/taskrabbit/task_spec.rb
+++ b/spec/taskrabbit/task_spec.rb
@@ -78,6 +78,20 @@ describe Taskrabbit::Task do
       end
     end
     
+    describe "#new_record?" do
+      subject { Taskrabbit::Task.new }
+
+      it "returns true if the task has no id" do
+        subject.stub(:id => nil)
+        subject.should be_new_record
+      end
+
+      it "returns false if the task has an id" do
+        subject.stub(:id => 123)
+        subject.should_not be_new_record
+      end
+    end
+
     describe "#find" do
 
       it "should fetch tasks" do
Add new_record? to Taskrabbit::Task