         ),
         @_N_exit,
         (() => @fail("Could not get tasks from Harvest"))
+      )
+    else if @program.action is "clear"
+      @harvest.entries(
+        @range.from, 
+        @range.to, 
+        ((entries)=>
+          for entry in entries when entry?.hours isnt "0.0" and @harvest.isCalendared(entry)
+            do (entry) =>
+              @harvest.delete(
+                entry.id,
+                (() -> console.log "✔ Deleted #{entry.id} successfully".green),
+                (()=>@fail("Could not delete entry (#{entry.id}) in Harvest"))
+              )
+        ), 
+        (() => @fail("Harvest: Retrieving existing harvest entries failed."))
       )
     else
       console.log "⬆ Google: Authenticating ...".blue

                  (()=>@fail("Could not delete entry (#{entry.id}) in Harvest"))
                )
            for event in creates
              do (event) ->
                harvest.create(
                  {
                    hours: event.duration_in_hours
                    project_id: event.matched_by.project_id
                    task_id: event.matched_by.task_id
                    spent_at: moment(event.start.dateTime).format("ddd, D MMM YYYY")
                    notes: "#{event.summary} - harvested:#{event.id}"
                  },
                  ((result) -> console.log "✔ Created Harvest entry from \"#{event.summary}\" on #{moment(event.start.dateTime).format("ddd, D MMM YYYY")} successfully".green),
                  (()=>@fail("Could not create entry in Harvest"))

  ###
  create: (entry, success, fail) ->

    #console.log "CREATE", entry

    data = JSON.stringify(entry)

    headers = @headers
