example: add isCompatible to all options
diff --git a/tfexec/workspace_new.go b/tfexec/workspace_new.go
index 4778a8c..ee082f1 100644
--- a/tfexec/workspace_new.go
+++ b/tfexec/workspace_new.go
@@ -5,6 +5,8 @@
 	"fmt"
 	"os/exec"
 	"strconv"
+
+	"github.com/hashicorp/go-version"
 )
 
 type workspaceNewConfig struct {
@@ -21,12 +23,17 @@
 // WorkspaceNewCmdOption represents options that are applicable to the WorkspaceNew method.
 type WorkspaceNewCmdOption interface {
 	configureWorkspaceNew(*workspaceNewConfig)
+	isCompatible(tfv *version.Version) bool
 }
 
 func (opt *LockOption) configureWorkspaceNew(conf *workspaceNewConfig) {
 	conf.lock = opt.lock
 }
 
+func (opt *LockOption) isCompatible(tfv *version.Version) bool {
+	return versionInRange(tfv, tf0_12_0, nil)
+}
+
 func (opt *LockTimeoutOption) configureWorkspaceNew(conf *workspaceNewConfig) {
 	conf.lockTimeout = opt.timeout
 }