diff --git a/contrib/zsh_completion b/contrib/zsh_completion
index 43bb9c5ab963256582e06751977bd551c8b1e04b_Y29udHJpYi96c2hfY29tcGxldGlvbg==..88a82069be4aeb036747dd51f867cde8b52e2fde_Y29udHJpYi96c2hfY29tcGxldGlvbg== 100644
--- a/contrib/zsh_completion
+++ b/contrib/zsh_completion
@@ -880,6 +880,12 @@
   '*:pattern:_hg_files'
 }
 
+_hg_cmd_qfinish() {
+  _arguments -s -w : $_hg_global_opts \
+  '(--all -a)'{-a,--all}'[finish all patches]' \
+  '*:patch:_hg_qapplied'
+}
+
 _hg_cmd_qfold() {
   _arguments -s -w : $_hg_global_opts $_h_commit_opts \
   '(--keep,-k)'{-k,--keep}'[keep folded patch files]' \