Automic VaultAutomic Vault

brew

Install virtualfish with Homebrew

Python virtual environment manager for the fish shell. Version 2.5.9 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install virtualfish

local Homebrew formula metadata

overview

Package summary

Python virtual environment manager for the fish shell

Commands and aliases

  • vf

history

Project history and usage

VirtualFish is a Python virtual-environment manager for the fish shell. It occupies the same niche as virtualenvwrapper, but for fish users who want `vf` commands, prompt integration, optional auto-activation, and project helpers that fit fish's syntax and startup model.

Project history

The upstream README says VirtualFish is maintained by Justin Mayer and was originally created by Daisy Leigh Brenecki. Public discussion from 2012 describes it as a fish-shell replacement inspired by Doug Hellmann's virtualenvwrapper, which matches the project's long-running positioning as fish-native virtualenv workflow glue.

PyPI's visible release history starts with 1.0.0a1 in March 2015, while the current repository documents fish 3.1 or newer as a requirement and points users to the Read the Docs manual. The 2.x line added the current plugin-oriented shape, including project management, environment-variable automation, and compatibility aliases.

Adoption history

VirtualFish is a niche tool by design: its audience is Python developers who already prefer fish over bash or zsh. Its sustained packaging in PyPI and Homebrew, and its explicit IRC/support channel alongside fish, show a small but persistent shell-specific community rather than broad mainstream Python tooling dominance.

The tool has also aged alongside Python's built-in fish activation scripts. Python's venv module can generate `activate.fish`, but VirtualFish remains useful when users want a named environment registry, `vf new` and `vf activate`, automatic activation from `.venv` marker files, or virtualenvwrapper-style habits in fish.

How it is used

The quickstart is intentionally short: install the package with pip, run `vf install`, add VirtualFish to the prompt if desired, then create an environment with a command such as `vf new myvirtualenv`. Users can enable plugins for auto-activation, projects, environment variables, and compatibility aliases.

The package is most often used interactively rather than as a dependency of applications. Its value is reducing shell friction: fish users get completions, prompt state, and activation/deactivation behavior without sourcing bash-oriented scripts.

Why package nerds care

VirtualFish is package-nerd significant because it preserves an older virtualenvwrapper style of environment management inside a shell that deliberately differs from POSIX shell syntax. It is a reminder that packaging workflows are shaped as much by shell ergonomics as by Python packaging standards.

Timeline

  • 2012: Daisy Leigh Brenecki publicly described starting a fish-shell replacement for virtualenvwrapper-style workflows.
  • 2015-03-22: The earliest VirtualFish files currently listed on PyPI were uploaded.
  • 2020-04-01: GitHub releases list VirtualFish 2.0.0.
  • 2024-05-13: GitHub releases list VirtualFish 2.5.9.

Related projects

  • virtualenv provides the underlying environment model. virtualenvwrapper is the older Bourne-shell-oriented inspiration. Python's standard-library venv module provides fish activation scripts for simpler workflows.

Sources

  • Python venv activation documentation: https://docs.python.org/3/library/venv.html
  • Stack Overflow answer by Daisy Leigh Brenecki describing early VirtualFish: https://stackoverflow.com/questions/10956335/how-to-get-virtualenv-to-work-with-fish-shell
  • VirtualFish GitHub README: https://github.com/justinmayer/virtualfish
  • VirtualFish PyPI project: https://pypi.org/project/virtualfish/
  • VirtualFish documentation: https://virtualfish.readthedocs.io/
  • VirtualFish plugins documentation: https://virtualfish.readthedocs.io/en/latest/plugins.html

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:shell

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 2 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
$XDG_CONFIG_HOME/fish/conf.d/virtualfish-loader.fish~/.config/fish/conf.d/virtualfish-loader.fish

executables

Installed executables

CommandKindExposureNote
vfcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version2.5.9
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://virtualfish.readthedocs.io/en/latest/

install metadata

Package metadata

Package keybrew:virtualfish
Version2.5.9
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/virtualfish
Homepagehttps://virtualfish.readthedocs.io/en/latest/
Repositoryhttps://github.com/justinmayer/virtualfish
Upstream docshttps://virtualfish.readthedocs.io/en/latest
LicenseMIT
Source archivehttps://files.pythonhosted.org/packages/1f/4e/343d044d61e80a44163d15ad2f6ca20eca0cb4fef4058caf8e5e55fc3dd9/virtualfish-2.5.9.tar.gz
Dependenciesfish, python@3.14
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared
CaveatsTo activate virtualfish, run the following in a fish shell: vf install

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namevirtualfish
Version Scheme0
Revision3
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • package relationship graph
  • package version freshness
  • package-page enrichment