No admin. No scripts. Just packages that behave.

Voli is a fast, no-admin package manager for Windows - one static binary, portable apps, clean uninstalls, and a package can never run code on your machine.

PowerShell - no admin
PS>iwr -useb volibear.dev/install | iex

Downloads the latest release, verifies its SHA-256, and runs voli setup (user-level PATH). It does nothing else - read install.ps1 first if you like.

By the numbers

Fewer prompts. Zero surprises.

Not policy - architecture. Each number below holds by construction, not by good intentions.

0

Admin prompts, ever. Never touches HKLM or Program Files - everything lives under your user profile.

~250 KB

Per index update. A signed snapshot fetched over HTTP - not a git clone of a bucket.

100%

Ledgered. Every mutation is recorded, so uninstall replays each action backwards - zero trace.

Guarantees

Four promises, never violated.

Each guarantee is baked into the format, not bolted on after. Here is what that buys you.

Never requires admin

Never touches HKLM or Program Files. Everything lives under your user profile, and junctions need no elevation.

Zero-trace removal

voli delete x leaves nothing behind - directory, shims, env vars and PATH entries all removed, replayed backwards from the ledger.

No scripts, ever

Install is download → verify hash → extract → shim → consented env. The manifest grammar cannot express code - a package can't run on your machine.

Signed & pinned

Every artifact is SHA-256 verified before extraction. The package index is Ed25519-signed and rejected if the signature doesn't check out.

install
PS> voli search ripgrep
ripgrep   14.1.1   recursively search with a regex
PS> voli install ripgrp
  ! no package 'ripgrp' - did you mean ripgrep?
PS> voli install ripgrep
   ripgrep 14.1.1  verified · extracted · shimmed  (1.2s)
Install

Install anything in seconds.

Full-text search over a local index - instant and offline. Typo a name and voli suggests the closest match instead of failing. Every install is download, verify, extract, shim; transactional per package.

upgrade
PS> voli upgrade --all
   ripgrep 14.1.0  14.1.1
  · flipping current\ junction … atomic
   done - running processes untouched
Upgrade

Upgrades that never break running apps.

Each version lives in its own folder; a current junction points at the active one. Upgrading is an atomic junction flip - a program that's already running keeps using its files and never notices. Pins are respected.

environment
PS> voli install oven-sh.bun
  env  BUN_INSTALL  → add to user PATH? [y/N] y
   set BUN_INSTALL (user)
PS> voli delete oven-sh.bun
   removed BUN_INSTALL - replayed from ledger
Environment

Env vars with consent + cleanup.

When a package wants an environment variable, voli asks - it never edits your environment behind your back. And because every change is written to the ledger, delete takes it back out again. Nothing lingers.

skills
PS> voli install skill/tdd --for codex
   tdd  codex   (signed · no scripts · zero-trace)
PS> voli install skill/tdd --for all --project
Skills

Agent skills with no surprises.

Voli installs Agent Skills straight into your agent's own directory - signed, hash-verified, and never executed. Every file is written to the ledger, so deleting a skill is zero-trace, just like an app. Point one install at many agents with repeatable --for targets.

voli memory
PS> voli memory note "deploy key AKIAIOSFODNN7EXAMPLE"
   saved #4c1a2f:0
PS> voli memory read --task "ship the release"
  · deploy key AKIA***MPLE · secret masked
PS> voli memory search "deploy"
   #4c1a2f:0  deploy key AKIA***MPLE
Memory

Memory that outlives every session.

Give your AI agent a persistent, encrypted, on-disk memory - one store that survives restarts, context resets, and model changes. Zero network. Recall is firewalled, so secrets are masked before the agent ever sees them.

Reference

The whole CLI on one screen.

Fast, predictable, scriptable. Stable exit codes and --json on list, search and info from day one.

Manage packages
voli install <pkg>[@version] … Install one or more packages from the registry; pin a version with @. Transactional per package.
voli delete <pkg> … Remove a package and everything it touched - zero trace, replayed from the ledger.
voli update Refresh the signed package index - one small download (~250 KB), not a git clone.
voli upgrade [<pkg>|--all] Upgrade packages; respects pins. Running apps keep working via the atomic junction flip.
Explore
voli list Everything installed, with versions.
voli search <query> Full-text search over the local index - instant and offline.
voli info <pkg> Version, description, homepage, license and sources for a package.
voli which <bin> Resolve a shim to the real target it points at.
Maintain
voli pin / unpin <pkg> Freeze a package at its current version, excluding it from upgrade --all.
voli cleanup Remove non-current version dirs and stale download cache.
voli doctor Health checks: PATH sanity, env drift, broken shims, sync-folder root warnings.
voli config get|set <key> [value] Read or set configuration such as the install root.
voli setup / self-update / self-delete Self-install onto the user PATH, keep voli up to date, or delete it completely.
Registry

Add your app in three steps.

The registry is declarative and open. No scripts to review - just a manifest.

01

Ship a zip

Publish a portable archive on GitHub Releases - the same one users would download by hand.

02

One TOML manifest

Open a PR with a single declarative manifest: name, version, source URL, SHA-256 and the shims to create.

03

CI signs & ships

Registry CI verifies the hash, rebuilds the index and Ed25519-signs it. Your app is live on the next voli update.

Comparison

How Voli differs from the others.

Same job, different architecture. Some rows are structural properties; the top two are capabilities the alternatives simply don't have.

  Voli Scoop Chocolatey winget
Installs agent skills Yes - signed, per-agent No No No
Encrypted agent memory Yes - voli memory No No No
Runs without admin Always Yes Usually not Often not
Packages can run scripts Never - grammar can't express it Yes Yes (PowerShell) Yes (installers)
Uninstall leaves nothing Ledger-replayed Mostly Installer-dependent Installer-dependent
Upgrade while app is running Atomic junction flip Can break Can break Can break
Index update size ~250 KB signed snapshot git clone per bucket API calls API calls
Index signature Ed25519, enforced Git trust Feed trust MS-signed
Env vars need consent Prompted + reverted Script-dependent Script-dependent Installer-dependent
FAQ
Is it safe?

Safety is built into the format, not bolted on. Every artifact is SHA-256 verified before it's extracted, and the package index is Ed25519-signed - the public key is baked into the binary, and an unsigned or tampered index is rejected outright.

The manifest grammar cannot express code, so there is no post-install script for an attacker to hide something in. Extraction is also protected against zip-slip (archive entries can't escape their folder).

Does it need admin?

Never. Voli never touches HKLM or Program Files - apps live under your user profile, PATH changes are user-level, and the junctions it relies on need no elevation. If a command ever asks for admin, that's a bug.

Can it install Chrome?

Yes, when the app has a portable build or its EXE/MSI can be safely extracted as an archive. Installer archives require 7-Zip, are hash-verified, and are never executed. Apps that require running an installer, a service, or admin access remain unsupported.

How do I delete Voli itself?

Run voli self-delete. Voli tracks its own PATH entry and install directory in the ledger, so removing its root folder and the single user-PATH entry it added takes everything with it. No registry residue, nothing left in Program Files, because it was never there in the first place.

voli, a dark-navy bear in a green forest holding a parcel with a yellow lightning bolt

Got a Windows machine?
Let the bear deliver.