diff --git a/src/goVulncheck.ts b/src/goVulncheck.ts
index b41441f..037e03a 100644
--- a/src/goVulncheck.ts
+++ b/src/goVulncheck.ts
@@ -223,7 +223,7 @@
 	}
 
 	private async runInternal(goCtx: GoExtensionContext) {
-		const pick = await vscode.window.showQuickPick(['Current Package', 'Workspace']);
+		const pick = await vscode.window.showQuickPick(['Current Package', 'Current Module', 'Workspace']);
 		let dir, pattern: string;
 		const document = vscode.window.activeTextEditor?.document;
 		switch (pick) {
@@ -241,6 +241,14 @@
 				dir = path.dirname(document.fileName);
 				pattern = '.';
 				break;
+			case 'Current Module':
+				dir = await moduleDir(document);
+				if (!dir) {
+					vscode.window.showErrorMessage('vulncheck error: no current module');
+					return;
+				}
+				pattern = './...';
+				break;
 			case 'Workspace':
 				dir = await this.activeDir();
 				pattern = './...';
@@ -308,6 +316,18 @@
 	}
 }
 
+async function moduleDir(document: vscode.TextDocument | undefined) {
+	const docDir = document && document.fileName && path.dirname(document.fileName);
+	if (!docDir) {
+		return;
+	}
+	const modFile = await getGoModFile(vscode.Uri.file(docDir));
+	if (!modFile) {
+		return;
+	}
+	return path.dirname(modFile);
+}
+
 // run `gopls vulncheck`.
 export async function vulncheck(
 	goCtx: GoExtensionContext,
