diff --git a/TODO b/TODO
index d273f5debc50805db1c9ac947dff089cc7c66088..be321104831cb33f6863e3edcc1f95338b0b9557 100644
--- a/TODO
+++ b/TODO
@@ -4,5 +4,5 @@
 * use PROMPT_SUBST in my own prompt instead of calling buildPS1 again to make this work for everyone, not just me
 * if we are within a vcsh already, only help, run and exit should be allowed
 * ^d re-binding does fail weirdly once i vcsh exit
-* allow vcsh clone <repo>; without <target>
 * set git config core.worktree $HOME or ../../../.. ?
+* vcsh clone fails when remote is empty
diff --git a/vcsh b/vcsh
index c26b50a6b7465ed01d5b0181983e2e407bf6687b..0bf5a1408bfab5d2f51f6abfacd2c0d0265a255d 100755
--- a/vcsh
+++ b/vcsh
@@ -19,7 +19,7 @@ help() {
 
    init           Initialize a new repository
    clone <remote>
-         <repo>   Clone from an existing repository
+         [<repo>] Clone from an existing repository
 
    exit           Exit vcsh mode" >&2
 }
@@ -90,7 +90,9 @@ elif [ "$1" = 'use' ]; then
 
 elif [ "$1" = 'clone' ]; then
 	export GIT_REMOTE="$2"
-	export REPO_NAME="$3"
+	REPO_NAME="$3"
+	[[ -z $REPO_NAME ]] && REPO_NAME=$(basename $GIT_REMOTE .git)
+	export REPO_NAME
 	export GIT_DIR="$VCSH_BASE/$REPO_NAME.git"
 	init