diff --git a/pty_unsupported.go b/pty_unsupported.go
new file mode 100644
index 0000000..bdb9e73
--- /dev/null
+++ b/pty_unsupported.go
@@ -0,0 +1,32 @@
+// +build !linux,!darwin,!freebsd
+
+package pty
+
+import (
+	"errors"
+	"os"
+)
+
+var (
+	ErrUnsupported = errors.New("Unsupported")
+)
+
+func open() (pty, tty *os.File, err error) {
+	return nil, nil, ErrUnsupported
+}
+
+func ptsname(f *os.File) (string, error) {
+	return "", ErrUnsupported
+}
+
+func grantpt(f *os.File) error {
+	return ErrUnsupported
+}
+
+func unlockpt(f *os.File) error {
+	return ErrUnsupported
+}
+
+func ioctl(fd, cmd, ptr uintptr) error {
+	return ErrUnsupported
+}
