diff --git a/scripts/zsh-completion/_fx_run-test b/scripts/zsh-completion/_fx_run-test
new file mode 100644
index 0000000000000000000000000000000000000000..f3608912d15e297b851817fdc75f2976d524fcef
--- /dev/null
+++ b/scripts/zsh-completion/_fx_run-test
@@ -0,0 +1,5 @@
+# if jq is available...
+if whence jq > /dev/null; then
+  # find os=fuchsia tests in tests.json and print their package
+  compadd $(jq -r 'map(.test | select(.os == "fuchsia") | .location | split("/")[3]) | unique | .[]' ${fuchsia_dir}/${fuchsia_build_dir}/tests.json)
+fi