diff --git a/src/applications/packages/editor/PhabricatorPackagesVersionEditEngine.php b/src/applications/packages/editor/PhabricatorPackagesVersionEditEngine.php
--- a/src/applications/packages/editor/PhabricatorPackagesVersionEditEngine.php
+++ b/src/applications/packages/editor/PhabricatorPackagesVersionEditEngine.php
@@ -19,7 +19,11 @@
 
   protected function newEditableObject() {
     $viewer = $this->getViewer();
-    return PhabricatorPackagesVersion::initializeNewVersion($viewer);
+    return PhabricatorPackagesVersion::initializeNewVersion($viewer)
+      // Attach a dummy package to have the policy checks pass for this object
+      // during creation.
+      ->attachPackage(
+        PhabricatorPackagesPackage::initializeNewPackage($viewer));
   }
 
   protected function newObjectQuery() {
diff --git a/src/applications/packages/storage/PhabricatorPackagesVersion.php b/src/applications/packages/storage/PhabricatorPackagesVersion.php
--- a/src/applications/packages/storage/PhabricatorPackagesVersion.php
+++ b/src/applications/packages/storage/PhabricatorPackagesVersion.php
@@ -15,7 +15,7 @@
   protected $name;
   protected $packagePHID;
 
-  private $package;
+  private $package = self::ATTACHABLE;
 
   public static function initializeNewVersion(PhabricatorUser $actor) {
     return id(new self());