# Install ctags with Homebrew, apk, chocolatey, dnf, MacPorts, Nix, pacman, zypper, scoop, winget

Reimplementation of ctags(1). Version 5.8 via Homebrew; verified 2026-06-19. Also installable with nix: nix profile install nixpkgs#ctags.

## Install

```sh
sudo av install brew:ctags
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ctags
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ctags
```

  Evidence: MacPorts ports tree: devel/ctags/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add ctags
```

  Evidence: Alpine Linux edge package indexes: ctags from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install ctags
```

  Evidence: Fedora Rawhide package metadata: ctags from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#ctags
```

  Evidence: nixpkgs package indexes: ctags from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S ctags
```

  Evidence: Arch Linux sync databases: ctags from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install ctags
```

  Evidence: openSUSE Tumbleweed package metadata: ctags from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Chocolatey (92%):

```sh
choco install ctags
```

  Evidence: Chocolatey community package catalog: ctags from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','crystalreports2008runtime'

- Scoop (92%):

```sh
scoop install main/ctags
```

  Evidence: Scoop official bucket manifest trees: bucket/ctags.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id UniversalCtags.Ctags -e
```

  Evidence: Windows Package Manager source index: UniversalCtags.Ctags from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:ctags
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ctags>
- **Version:** 5.8
- **Source summary:** Reimplementation of ctags(1)
- **Homepage:** <https://ctags.sourceforge.net/>
- **Repository:** <https://sourceforge.net/p/ctags/code/HEAD/tree>
- **Upstream docs:** <https://ctags.sourceforge.net/>
- **License:** GPL-2.0-or-later AND LGPL-2.1-or-later
- **Source archive:** <https://downloads.sourceforge.net/project/ctags/ctags/5.8/ctags-5.8.tar.gz>
- **Last updated:** 2026-06-19T12:30:04-07:00
- **Generated:** 2026-07-25T07:20:51+00:00

## Executables

- ctags (cli)
- ctags (alias)

## Install behavior

- Post-install hook: not defined
- Caveats: Under some circumstances, emacs and ctags can conflict. By default, emacs provides an executable `ctags` that would conflict with the executable of the same name that ctags provides. To prevent this, Homebrew removes the emacs `ctags` and its manpage before linking.
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-25
- Package-manager version: 5.8
- Package-manager updated: 2026-06-19
- Local data: ok
- Upstream repository: https://ctags.sourceforge.net/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Exuberant Ctags is Darren Hiebert's multi-language implementation of the classic ctags source-indexing tool. It generates tag files that editors and other tools use for quick navigation to language objects such as functions, classes, macros, variables, and declarations.

### Project history

The official change notes record ctags 1.0 as a first public release on May 31, 1996. The project then expanded rapidly from a C/C++-oriented tag generator into a multi-language tool, adding Java support in 1998, many other language parsers through the 2000s, extended tag fields, recursive traversal, Emacs TAGS output, user-defined regex languages, and broad platform support.

Version 5.8, dated July 9, 2009 on the official site, was the last Exuberant Ctags release advertised there. Its source distribution and platform packages remained important long after that date because the tool had become a standard dependency for editor navigation and source-code browsing workflows.

### Adoption history

The Exuberant Ctags home page states that the tool was used in at least 50 countries, supported 41 programming languages, was included in major Linux distributions, and was covered by editor and programming publications. The input package facts show the Homebrew package name distributed across many modern package managers, including apk, Homebrew, Chocolatey, Fedora, MacPorts, Nix, pacman, Scoop, winget, and zypper.

### How it is used

ctags is typically run over a source tree to create a tags file for editors, source browsers, or other utilities. The official manual documents automatic language selection, recursive source traversal, configuration files, environment options, and tag-file output formats.

### Why package nerds care

Ctags is a foundational editor-tool package: tiny, scriptable, cross-platform, and useful across many languages. Exuberant Ctags became the de facto packaged implementation for years, while later Universal Ctags packaging inherited much of the command-line and distribution story.

### Timeline

- 1996: ctags 1.0 first public release.
- 1998: ctags 2.1 added Java support; ctags 2.2 added recursive traversal.
- 2003: ctags 5.5 added list-languages, list-kinds, list-maps, C#, Erlang, HTML, JavaScript, and Standard ML support.
- 2007: ctags 5.7 added support for .ctags on Windows.
- 2009: ctags 5.8 release advertised on the official site.

### Related projects

- Exuberant Ctags is historically tied to vi, Vim, Emacs TAGS files, and editor source-navigation workflows. Universal Ctags is the active successor lineage used by newer tooling such as ctags-lsp.

### Sources

- <https://ctags.sourceforge.net/>
- <https://ctags.sourceforge.net/whatis.html>
- <https://ctags.sourceforge.net/desire.html>
- <https://ctags.sourceforge.net/news.html>
- <https://ctags.sourceforge.net/ctags.html>
- <https://sourceforge.net/p/ctags/code/HEAD/tree>


## Security Notes

No matching local secret-handling manifest was found for ctags. Nucleus package metadata is still published here so future coverage has a stable package URL.



## 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

- Unix: /etc/ctags.conf, /usr/local/etc/ctags.conf, ~/.ctags, .ctags
- Windows: /ctags.cnf, ~/ctags.cnf, ctags.cnf
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ctags
- **Aliases:** ctags-exuberant
- **Version Scheme:** 0
- **Revision:** 2
- **Head Version:** HEAD
- **Conflicts With:** universal-ctags
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - ctags: normalized package name match | nixpkgs package indexes: ctags from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- apk - ctags - 6.2.1-r0: normalized package name match | Alpine Linux edge package indexes: ctags from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Generator of tags for all types of C/C++ languages | https://ctags.io/
- apk - ctags-doc - 6.2.1-r0: normalized package name match | Alpine Linux edge package indexes: ctags-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Generator of tags for all types of C/C++ languages (documentation) | https://ctags.io/
- dnf - ctags - 6.2.1-3.fc44: normalized package name match | Fedora Rawhide package metadata: ctags from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A C programming language indexing and/or cross-reference tool | https://ctags.io/
- pacman - ctags - 1:6.2.1-1: normalized package name match | Arch Linux sync databases: ctags from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Generates an index file of language objects found in source files | https://ctags.io/
- zypper - ctags - 5.8-15.3: normalized package name match | openSUSE Tumbleweed package metadata: ctags from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A Program to Generate Tag Files for Use with vi and Other Editors | http://ctags.sourceforge.net/
- MacPorts - ctags: normalized package name match | MacPorts ports tree: devel/ctags/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Chocolatey - ctags: normalized package name match | Chocolatey community package catalog: ctags from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','crystalreports2008runtime'
- Scoop - main/ctags: normalized package name match | Scoop official bucket manifest trees: bucket/ctags.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - UniversalCtags.Ctags: normalized package name match | Windows Package Manager source index: UniversalCtags.Ctags from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [rtags](https://www.automicvault.com/pkg/brew/rtags/) - Shares av.db curated category or tags: cli, code-navigation, developer-tools.
- [cscope](https://www.automicvault.com/pkg/brew/cscope/) - Shares av.db curated category or tags: cli, code-navigation, developer-tools.
- [dex](https://www.automicvault.com/pkg/brew/dex/) - Shares av.db curated category or tags: cli, ctags, developer-tools, editor-tools.
- [global](https://www.automicvault.com/pkg/brew/global/) - Shares av.db curated category or tags: cli, code-navigation, ctags, developer-tools.
- [gotags](https://www.automicvault.com/pkg/brew/gotags/) - Shares av.db curated category or tags: cli, code-navigation, ctags, developer-tools.
- [cmake-language-server](https://www.automicvault.com/pkg/brew/cmake-language-server/) - Shares av.db curated category or tags: cli, developer-tools, editor-tools.
- [codequery](https://www.automicvault.com/pkg/brew/codequery/) - Shares av.db curated category or tags: cli, ctags, developer-tools.
- [ctags-lsp](https://www.automicvault.com/pkg/brew/ctags-lsp/) - Shares av.db curated category or tags: cli, ctags, developer-tools.
- [findent](https://www.automicvault.com/pkg/brew/findent/) - Local package facts share a topical domain. Shared terms: cli, code, developer, developer-tools, source.

## Combined YAML source

View the package source record on GitHub. [combined/ctags.yml](https://github.com/automic-vault/db/blob/main/combined/ctags.yml)


## Sources

- Nucleus package database
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
