# Install charmcraft with Homebrew

Tool to build charms and publish them on Charmhub. Version 4.4.0 via Homebrew; verified 2026-07-22.

## Install

```sh
sudo av install brew:charmcraft
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install charmcraft
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:charmcraft
- **Package manager:** Homebrew
- **Version:** 4.4.0
- **Source summary:** Tool to build charms and publish them on Charmhub
- **Homepage:** <https://charmhub.io>
- **Repository:** <https://github.com/canonical/charmcraft>
- **Last updated:** 2026-07-22T21:23:16Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- charmcraft (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 4.4.0
## Project history and usage

Charmcraft is Canonical's command-line tool for creating, packaging, and publishing charms, the operator packages used by Juju. In package-manager terms it is the build-and-release client for the Charmhub/Juju ecosystem rather than a general-purpose language package manager.

### Project history

The upstream GitHub repository was created in April 2020, and its README describes Charmcraft as the tool for initializing charm projects, packing charms, registering names, uploading revisions, and releasing them through Charmhub. GitHub release metadata shows the first public release, 0.1.0, published in May 2020; current releases are in the 4.x line.

### Adoption history

Charmcraft adoption follows Juju and Charmhub adoption: developers who build charmed operators use it to turn operator source trees into distributable charm artifacts. The README says the recommended Linux installation is the Snap package, while the input package-manager facts show a Homebrew formula for macOS users.

### How it is used

Typical use starts with `charmcraft init`, then `charmcraft pack` to build, `charmcraft register` to reserve a Charmhub name, and `charmcraft upload` to publish revisions. The documented `charmcraft.yaml` file declares project metadata consumed by Charmcraft.

### Why package nerds care

Charmcraft matters to package nerds because it is an ecosystem-specific packaging frontend: it bridges source trees, declared package metadata, build isolation, and a central registry for Juju operators. It is also a Canonical example of packaging tooling aligned with Snap distribution and Ubuntu documentation.

### Timeline

- 2020-04: Upstream GitHub repository created.
- 2020-05: First public GitHub release, 0.1.0.
- 2026-06: Upstream GitHub release metadata lists Charmcraft 4.3.0.

### Related projects

- Juju is the orchestration system whose operators are packaged as charms.
- Charmhub is the publishing and discovery service targeted by Charmcraft commands.
- Snapcraft is adjacent Canonical packaging tooling; Charmcraft's README recommends the Snap package on Linux.

### Sources

- <https://github.com/canonical/charmcraft>
- <https://api.github.com/repos/canonical/charmcraft>
- <https://api.github.com/repos/canonical/charmcraft/releases>
- <https://documentation.ubuntu.com/charmcraft/stable/reference/files/charmcraft-yaml-file/>


## Security Notes

No matching local secret-handling manifest was found for charmcraft. 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: ./charmcraft.yaml

## Combined YAML source

View the package source record on GitHub. [combined/charmcraft.yml](https://github.com/mxcl/pkgdb/blob/main/combined/charmcraft.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
