# Install howdoi with Homebrew, dnf, MacPorts, apt

Instant coding answers via the command-line. Version 2.0.20 via Homebrew; verified 2026-06-03. Also installable with ubuntu: sudo apt install howdoi.

## Install

```sh
sudo av install brew:howdoi
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install howdoi
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install howdoi
```

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

### Linux

- dnf (92%):

```sh
sudo dnf install howdoi
```

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

- Ubuntu apt (92%):

```sh
sudo apt install howdoi
```

  Evidence: Ubuntu 24.04 LTS package indexes: howdoi from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

## Package facts

- **Package key:** brew:howdoi
- **Package manager:** Homebrew
- **Version:** 2.0.20
- **Source summary:** Instant coding answers via the command-line
- **Homepage:** <https://github.com/gleitz/howdoi>
- **Last updated:** 2026-06-03T10:42:50Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- howdoi (alias)

## Install behavior

- Bottle: not available

## Freshness

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

howdoi is a Python command-line tool that returns coding answers in the terminal. Its README pitches the tool as a way to avoid opening a browser for common programming questions, with examples that query Stack Overflow-style answers and print snippets directly.

### Project history

Benjamin Gleitzman created howdoi and credits Rich Jones for the idea in the project README and source header. The repository source header describes it as written by Gleitzman, and the README keeps the intentionally terse premise: instant coding answers via the command line.

The project started as a small search-and-scrape utility and evolved into a more featureful CLI. The changelog records PyPI packaging, Python 3 support, multiple answers, color output, caching, alternate search engines, JSON output, saved answers, environment-variable configuration, and later changes caused by search-engine and Stack Overflow markup shifts.

### Adoption history

PyPI records the first packaged 0.1.1 upload in November 2012, and Homebrew packages `howdoi` from the PyPI source archive. The package metadata in this batch also records distro packaging through DNF, MacPorts, and Ubuntu, which is unusually broad for a novelty-adjacent developer helper.

The README lists integrations for Slack, Telegram, Discord, Emacs, VSCode, and Alfred. Those integrations show that howdoi's basic idea escaped the original terminal command and became a reusable pattern for asking programming-reference questions from developer surfaces.

### How it is used

The core usage is `howdoi QUERY`, with options for selecting result position, returning multiple answers, printing full text, colorizing output, showing only links, choosing a search engine, using JSON output, and saving or viewing stashed answers.

Environment variables such as `HOWDOI_COLORIZE`, `HOWDOI_SEARCH_ENGINE`, and `HOWDOI_URL` let users change default behavior or point searches at other Stack Exchange sites.

### Why package nerds care

howdoi is package-nerd catnip because it captures an early-2010s developer workflow in one tiny command: ask the web a coding question, scrape the likely answer, and stay in the shell. It is fragile by design because it depends on search results and answer-page markup, and the changelog reads like a history of keeping that trick alive.

It also helped popularize a genre of terminal knowledge tools that wrap public Q&A sites, then rely on package managers to make the joke useful enough to install everywhere.

### Timeline

- 2012: PyPI records the 0.1.1 package upload.
- 2013: The 1.0 changelog marks Python 3 support and Production/Stable project status.
- 2.0.1: The changelog adds JSON output and stashed answers.
- 2.0.8: The changelog records the move from Travis to GitHub Actions and dropping Python 2.7 support.
- 2022: PyPI records the 2.0.20 release, whose changelog adds Python 3.10 support.

### Related projects

- Stack Overflow and other Stack Exchange sites are the knowledge sources targeted by the documented query examples and `HOWDOI_URL` setting.
- keep inspired the answer-stashing feature documented in the howdoi README and changelog.
- slack-howdoi, howdoi-telegram, discord-howdoi, emacs-howdoi, VSCode howdoi, and alfred-howdoi are listed by the project as integrations.

### Sources

- <https://formulae.brew.sh/formula/howdoi>
- <https://github.com/gleitz/howdoi>
- <https://github.com/gleitz/howdoi/blob/master/CHANGES.txt>
- <https://github.com/gleitz/howdoi/blob/master/howdoi/howdoi.py>
- <https://pypi.org/project/howdoi/>
- <https://pypi.org/pypi/howdoi/json>


## Security Notes

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


## Other Package-Manager Records

- Ubuntu apt - howdoi - 1.1.9-1.1: normalized package name match | Ubuntu 24.04 LTS package indexes: howdoi from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | command line tool for instant coding answers | https://github.com/gleitz/howdoi
- dnf - howdoi - 2.0.20-17.fc45: normalized package name match | Fedora Rawhide package metadata: howdoi from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Instant coding answers via the command line | https://github.com/gleitz/howdoi
- MacPorts - howdoi: normalized package name match | MacPorts ports tree: devel/howdoi/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

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


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
