Gitmoji Workflow for Alfred
August 6, 2026 · View on GitHub
Search for Gitmojis using Alfred.

Installation
- Download the latest version
- Install the workflow by double-clicking the
.alfredworkflowfile - You can add the workflow to a category, then click "Import" to finish importing. You'll now see the workflow listed in the left sidebar of your Workflows preferences pane.
Usage
Just type gm followed by your search query.
gm update
Either press ⌘Y to Quick Look the result, or press <enter> copy it to your clipboard.
Modifier keys
- return (↵): Copy the code of the selected gitmoji (e.g.
:bug:) directly to your front-most application. - option+return (⌥↵): Copy the symbol of the selected emoji) (e.g. "🐛") to your clipboard.
- ctrl+return (⌃↵): Copy the hexadecimal HTML Entity of the selected emoji) (e.g.
🐛) to your clipboard. - shift+return (⇧↵): Copy the Python source of the selected emoji) (e.g.
u"\U0001F41B") to your clipboard. - shift+ctrl+return (⇧⌃↵): Copy the formal Unicode notation of the selected emoji) (e.g.
U+1F41B) to your clipboard. - cmd+return (⌘↵): Copy the code of the selected emoji (e.g.
:bug:) to your clipboard.
Notes
Kudos to leolabs/alfred-gitmoji for the initial inspiration.
The gitmoji index was built from carloscuesta/gitmoji. The displayed emoji images are from joypixels/emoji-assets. The lightning fast search is powered by Algolia using the same index as gimoji.dev.
Development
The workflow is implemented in Rust and requires Rust 1.88 or newer. Copy .env.example to .env and fill in the three Algolia search values, then run a local query with:
cargo run -- -q bug
Run the complete local check suite with make ci. To build the release directory or create an installable workflow for the current architecture, install cargo-about with cargo install cargo-about --locked --features cli, then run make build-release or make package. GitHub releases contain one universal binary supporting Apple Silicon from macOS 11 and Intel from macOS 10.15. Release builds embed the Algolia values from the environment or .env; runtime environment values continue to take precedence for local overrides. The .env file is never copied into a package.