Automic VaultAutomic Vault

brew

Install universal-ctags with Homebrew, chocolatey, apt, MacPorts, Nix, pacman, scoop, winget, zypper

Maintained ctags implementation. Version 6.2.1 via Homebrew; verified 2026-05-15.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install universal-ctags

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install universal-ctags

MacPorts ports tree · devel/universal-ctags/Portfile · source: api.github.com

Linux

Debian aptverified · 92%
sudo apt install universal-ctags

Debian stable package indexes · universal-ctags · source: deb.debian.org

Nixverified · 92%
nix profile install nixpkgs#universal-ctags

nixpkgs package indexes · pkgs/by-name/un/universal-ctags/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S ctags

Arch Linux sync databases · ctags · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install universal-ctags

openSUSE Tumbleweed package metadata · universal-ctags · source: download.opensuse.org

Windows

Chocolateyverified · 92%
choco install universal-ctags

Chocolatey community package catalog · universal-ctags · source: community.chocolatey.org

Scoopverified · 92%
scoop install extras/universal-ctags

Scoop official bucket manifest trees · bucket/universal-ctags.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id UniversalCtags.Ctags -e

Windows Package Manager source index · UniversalCtags.Ctags · source: cdn.winget.microsoft.com

overview

Package summary

Maintained ctags implementation

Commands and aliases

  • optscript
  • readtags

history

Project history and usage

Universal Ctags is the maintained continuation of the ctags tradition: a command-line indexer that emits tag files for editors and source-navigation tools. Its package history is inseparable from Exuberant Ctags, whose development stalled after becoming the de facto multi-language ctags implementation.

Project history

The Universal Ctags README states that Exuberant Ctags, maintained by Darren Hiebert, improved traditional ctags with multi-language support, user-defined regex languages, and Emacs TAGS output, but that project activity stalled. Reza Jelveh initially created a personal GitHub fork, and growing participation led to a dedicated Universal Ctags project.

Universal Ctags set out to continue Exuberant Ctags in a shared working space. It added and improved language parsers, extended optlib for defining parsers, developed experimental interactive mode, and documented incompatibilities where the maintained implementation deliberately diverges from Exuberant behavior.

Adoption history

ctags files are a long-standing contract between command-line indexers and editors. Universal Ctags' adoption grew because Vim, Emacs, source browsers, IDE plugins, static documentation tools, and cross-reference engines still benefit from a fast, language-aware tags generator.

The official docs track related consumers and neighboring projects, including GNU Global, GNU Source-highlight, OpenGrok, Pygments, Geany, Anjuta, and Vim Tagbar. The input also shows broad packaging under names such as universal-ctags or ctags across Homebrew, Debian, Ubuntu, Fedora, Arch, Nix, MacPorts, Windows package managers, and others.

How it is used

The basic package workflow is simple: run ctags over a source tree and point an editor or tool at the generated tags file. Advanced users customize language parsing, emitted fields, extras, pseudo-tags, and per-directory option files.

Universal Ctags changed important configuration defaults compared with Exuberant Ctags. Its README calls out that it does not load ~/.ctags and ./.ctags at startup, preferring ~/.ctags.d/*.ctags and ./.ctags.d/*.ctags; that matters directly to package upgrades and dotfile migrations.

Why package nerds care

Universal Ctags is package-nerd significant because it is a tiny binary with a huge blast radius: editors, code browsers, documentation systems, and source-search tools may all consume its output. Keeping it maintained keeps decades of ctags workflows viable for modern languages.

It is also a clean example of the package-manager replacement pattern: distributions can switch users from an unmaintained upstream to a maintained fork while preserving the old command name and most file-format compatibility.

Timeline

  • Pre-2010s: Exuberant Ctags became the widely used multi-language ctags implementation.
  • 2010s: Exuberant Ctags activity stalled; Reza Jelveh created a GitHub fork.
  • 2010s: The fork became the Universal Ctags project as more contributors joined.
  • 2017: Windows daily builds documented the change away from loading legacy ~/.ctags-style files.
  • 2019: Windows daily builds documented default slash path separators and UTF-8 code page behavior on modern Windows.

Related projects

  • Universal Ctags descends from Exuberant Ctags and traditional Unix ctags. Official docs also discuss Geany's derived tagging engine and downstream consumers such as GNU Global, OpenGrok, Pygments, GNU Source-highlight, Anjuta, and Tagbar.
  • Its companion commands and documentation include readtags, optscript, ctags-client-tools, ctags-optlib, and man pages covering tags file formats and incompatibilities.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 3 runtime dependencies.
  • Build metadata lists 3 build 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/ctags/*.ctags~/.config/ctags/*.ctags~/.ctags.d/*.ctags./.ctags.d/*.ctags./ctags.d/*.ctags
Windows
%HOMEDRIVE%%HOMEPATH%\ctags.d\*.ctags

executables

Installed executables

CommandKindExposureNote
optscriptcliglobal executable
readtagscliglobal 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 version6.2.1
manager updated2026-05-15
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/universal-ctags/ctags

install metadata

Package metadata

Package keybrew:universal-ctags
Version6.2.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/universal-ctags
Homepagehttps://ctags.io/
Repositoryhttps://github.com/universal-ctags/ctags
Upstream docshttps://docs.ctags.io/
LicenseGPL-2.0-or-later
Source archivehttps://github.com/universal-ctags/ctags/releases/download/v6.2.1/universal-ctags-6.2.1.tar.gz
Last updated2026-05-15T12:49:28-04:00
Pulseupdated
Dependenciesjansson, libyaml, pcre2
Build dependenciesdocutils, pkgconf, python@3.14
Uses from macOSlibxml2
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameuniversal-ctags
Version Scheme0
Revision0
Head VersionHEAD
Conflicts With
  • ctags
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

universal-ctags 5.9.20210829.0-2

build tag file indexes of source code definitions

https://ctags.io/

sudo apt install universal-ctags
  • Section: editors
  • Architecture: amd64
  • 5 dependencies
  • 1 provides
  • 4 optional deps
  • normalized package name match
  • Matched by: Universal Ctags
Debian stable package indexes · deb.debian.org · Debian stable package indexes: universal-ctags from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

universal-ctags

nix profile install nixpkgs#universal-ctags
  • normalized package name match
  • Matched by: Universal Ctags
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/un/universal-ctags/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

universal-ctags 5.9.20210829.0-1

build tag file indexes of source code definitions

https://ctags.io/

sudo apt install universal-ctags
  • Section: universe/editors
  • Architecture: amd64
  • 5 dependencies
  • 1 provides
  • 4 optional deps
  • normalized package name match
  • Matched by: Universal Ctags
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: universal-ctags from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
pacman95%

ctags 1:6.2.1-1

Generates an index file of language objects found in source files

https://ctags.io/

sudo pacman -S ctags
  • License: GPL-2.0-only
  • Architecture: x86_64
  • 7 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Universal Ctags
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: ctags from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

universal-ctags 6.2.1-1.1

A program to generate language tag files used with various editors

https://github.com/universal-ctags/ctags

sudo zypper install universal-ctags
  • License: GPL-2.0-only
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: universal-ctags
  • 6 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Universal Ctags
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: universal-ctags from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

universal-ctags

sudo port install universal-ctags
  • normalized package name match
  • Matched by: Universal Ctags
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/universal-ctags/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Chocolatey95%

universal-ctags

choco install universal-ctags
  • normalized package name match
  • Matched by: Universal Ctags
Chocolatey community package catalog · community.chocolatey.org · Chocolatey community package catalog: universal-ctags from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','ubisoft-connect'
Scoop95%

extras/universal-ctags

scoop install extras/universal-ctags
  • normalized package name match
  • Matched by: Universal Ctags
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/universal-ctags.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1
winget95%

UniversalCtags.Ctags

winget install --id UniversalCtags.Ctags -e
  • normalized package name match
  • Matched by: Universal Ctags
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: UniversalCtags.Ctags from https://cdn.winget.microsoft.com/cache/source.msix
winget95%

UniversalCtags.Ctags.Nightly

winget install --id UniversalCtags.Ctags.Nightly -e
  • normalized package name match
  • Matched by: Universal Ctags
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: UniversalCtags.Ctags.Nightly from https://cdn.winget.microsoft.com/cache/source.msix

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
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment