macOS
brew install xcodeslocal Homebrew formula metadata
sudo port install xcodesMacPorts ports tree · devel/xcodes/Portfile · source: api.github.com
brew
Command-line tool to install and switch between multiple versions of Xcode. Version 2.0.2 via Homebrew; verified 2026-06-28.
install
brew install xcodeslocal Homebrew formula metadata
sudo port install xcodesMacPorts ports tree · devel/xcodes/Portfile · source: api.github.com
nix profile install nixpkgs#xcodesnixpkgs package indexes · pkgs/by-name/xc/xcodes/package.nix · source: api.github.com
overview
Command-line tool to install and switch between multiple versions of Xcode
history
xcodes is a Swift command-line tool for installing, listing, selecting, and removing multiple versions of Xcode. It fills the same role for Apple's IDE that language version managers fill for Ruby, Node, or Python projects.
The repository was created on 2019-02-22 and shipped its initial 0.1.0 release on 2019-03-11 as an MVP for Apple developers who needed side-by-side Xcode installs. The README documents commands for installing specific releases and prereleases, listing available versions, selecting an active Xcode, managing runtimes, and uninstalling versions.
The project began under Robots and Pencils and moved into the XcodesOrg organization on 2023-04-21. The maintainer note describes the move as a response to growth beyond a small utility used by Apple developers around the world, while keeping Matt Kiazyk as owner and maintainer.
By 2024 and 2026, xcodes had adapted to changes in Apple's tooling and distribution model: releases added support for iOS 18+ runtime downloads and SRP Apple login changes, then 2.0.x refactored the CLI onto shared XcodesKit and XcodesLoginKit packages, added architecture-aware filtering, and raised the implementation baseline to Swift 6 and macOS 13.
xcodes is widely adopted because Xcode versions are large, slow to install manually, and often need to be pinned per project or CI lane. The repository has thousands of GitHub stars and a long release line, and its companion Xcodes.app gives the same version-management idea a graphical macOS interface.
The .xcode-version proposal ties xcodes to a broader convention already used by xcode-install and fastlane. That file lets a repository declare the Xcode version it expects, making xcodes useful in onboarding scripts and CI environments where reproducible Apple build tooling matters.
Common workflows include running xcodes list to discover versions, xcodes install to download and install an exact Xcode version, xcodes select to switch the active toolchain through xcode-select, and xcodes runtimes to install platform runtimes. When authentication is required for Apple downloads, xcodes stores Apple ID credentials in the macOS Keychain after prompting or reading environment variables.
Teams often add a .xcode-version file next to an Xcode project or workspace so automation can choose the expected Xcode. The README recommends committing that file for teams and CI, especially when a project depends on a specific stable Xcode release.
xcodes is significant in package-manager culture because it brings version-manager ergonomics to a toolchain Apple distributes as a huge GUI application. It makes Xcode itself scriptable: a package can select, install, and document the IDE/runtime version needed for deterministic builds.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
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.
Config paths the tool may read or write during local use.
./.xcode-versionCredential-bearing paths to review before unattended agent runs.
macOS Keychainexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
xcodes | cli | global executable |
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.
https://github.com/XcodesOrg/xcodes
install metadata
| Package key | brew:xcodes |
|---|---|
| Version | 2.0.2 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/xcodes |
| Homepage | https://github.com/XcodesOrg/xcodes |
| Repository | https://github.com/XcodesOrg/xcodes |
| Upstream docs | https://github.com/XcodesOrg/xcodes#readme |
| License | MIT |
| Source archive | https://github.com/XcodesOrg/xcodes/archive/refs/tags/2.0.2.tar.gz |
| Last updated | 2026-06-28T20:59:36+01:00 |
| Pulse | updated |
| Uses from macOS | swift |
| Bottle | available (on arm64_sequoia, arm64_tahoe) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | xcodes |
| Version Scheme | 0 |
| Revision | 0 |
| Requirements |
|
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
xcodes
nix profile install nixpkgs#xcodesxcodes
sudo port install xcodessource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.