diff --git a/cmd/gorelease/errors.go b/cmd/gorelease/errors.go
index 1e0ea28..e0ebd1e 100644
--- a/cmd/gorelease/errors.go
+++ b/cmd/gorelease/errors.go
@@ -34,11 +34,18 @@
 }
 
 type baseVersionError struct {
-	err error
+	err     error
+	modPath string
 }
 
 func (e *baseVersionError) Error() string {
-	return fmt.Sprintf("could not find base version: %v", e.err)
+	firstVersion := "v0.1.0"
+	_, major, _ := module.SplitPathVersion(e.modPath)
+	if major != "" {
+		firstVersion = major[1:] + ".0.0"
+	}
+
+	return fmt.Sprintf("could not find base version. Consider setting -version=%s if this is a first release, or explicitly set -base=none: %v", firstVersion, e.err)
 }
 
 func (e *baseVersionError) Unwrap() error {
diff --git a/cmd/gorelease/gorelease.go b/cmd/gorelease/gorelease.go
index 6347059..2c055df 100644
--- a/cmd/gorelease/gorelease.go
+++ b/cmd/gorelease/gorelease.go
@@ -740,7 +740,7 @@
 func inferBaseVersion(ctx context.Context, modPath, max string) (baseVersion string, err error) {
 	defer func() {
 		if err != nil {
-			err = &baseVersionError{err: err}
+			err = &baseVersionError{err: err, modPath: modPath}
 		}
 	}()
 
@@ -817,7 +817,6 @@
 	cmd := exec.CommandContext(ctx, "go", "list", "-m", "-versions", "--", modPath)
 	cmd.Env = copyEnv(ctx, cmd.Env)
 	cmd.Dir = tmpDir
-	cmd.Env = append(cmd.Env, "GO111MODULE=on")
 	out, err := cmd.Output()
 	if err != nil {
 		return nil, cleanCmdError(err)
diff --git a/cmd/gorelease/gorelease_test.go b/cmd/gorelease/gorelease_test.go
index c648816..54087b8 100644
--- a/cmd/gorelease/gorelease_test.go
+++ b/cmd/gorelease/gorelease_test.go
@@ -185,8 +185,11 @@
 				return nil, fmt.Errorf("%s:%d: %v", testPath, lineNum, err)
 			}
 		case "proxyVersions":
-			parts := strings.Split(value, ",")
+			if len(value) == 0 {
+				break
+			}
 			proxyVersions := make(map[module.Version]bool)
+			parts := strings.Split(value, ",")
 			for _, modpathWithVersion := range parts {
 				vParts := strings.Split(modpathWithVersion, "@")
 				if len(vParts) != 2 {
diff --git a/cmd/gorelease/testdata/basic/v3_autobase_verify_error.test b/cmd/gorelease/testdata/basic/v3_autobase_verify_error.test
index d9c9b6a..9519d65 100644
--- a/cmd/gorelease/testdata/basic/v3_autobase_verify_error.test
+++ b/cmd/gorelease/testdata/basic/v3_autobase_verify_error.test
@@ -3,4 +3,4 @@
 release=v3.1.0
 error=true
 -- want --
-could not find base version: no versions found lower than v3.1.0
+could not find base version. Consider setting -version=v3.0.0 if this is a first release, or explicitly set -base=none: no versions found lower than v3.1.0
diff --git a/cmd/gorelease/testdata/first/v1_2_3_explicit_none_base.test b/cmd/gorelease/testdata/first/v1_2_3_explicit_none_base.test
new file mode 100644
index 0000000..ea3e7d1
--- /dev/null
+++ b/cmd/gorelease/testdata/first/v1_2_3_explicit_none_base.test
@@ -0,0 +1,12 @@
+mod=example.com/first
+base=none
+release=v1.2.3
+proxyVersions=
+-- want --
+v1.2.3 is a valid semantic version for this release.
+-- go.mod --
+module example.com/first
+
+go 1.12
+-- p.go --
+package p
\ No newline at end of file
