Skip to content

Lockfile Schema

Schema URL: https://venpm.dev/schemas/v1/lockfile.json

The lockfile tracks installed plugins. Located at <config-dir>/venpm-lock.json alongside the config file. You should not need to edit it manually — venpm manages it automatically.

Structure

json
{
  "installed": {
    "channelTabs": {
      "version": "0.1.0",
      "repo": "kamaras-plugins",
      "method": "git",
      "pinned": false,
      "installed_at": "2026-01-15T10:30:00.000Z",
      "git_ref": "abc1234",
      "path": "plugins/channelTabs"
    },
    "myPlugin": {
      "version": "local",
      "repo": "local",
      "method": "local",
      "pinned": true,
      "installed_at": "2026-01-16T14:00:00.000Z"
    }
  }
}

Fields

installed

  • Type: object (map of plugin name → installed entry)
  • Required: yes

Installed Entry

FieldTypeRequiredDescription
versionstringyesSemver version or "local" for local installs
repostringyesRepo name the plugin was installed from
method"git" | "tarball" | "local"yesHow the plugin was fetched
pinnedbooleanyesWhether the plugin is pinned (won't be updated)
installed_atstring (ISO 8601)yesWhen the plugin was installed
git_refstringnoGit commit SHA or tag (when method is "git")
pathstringnoSubdirectory path (for monorepo installs)

Pinning

A plugin is pinned when installed with --version. Pinned plugins are skipped by venpm update. Local installs are always pinned.

Recovery

If the lockfile gets corrupted or out of sync, you can safely delete it. venpm reconstructs it from the installed plugins directory on the next operation.