An Alfred workflow (Alfred 5 with the Powerpack) that runs everything through BoltAI's bolt command-line tool.
| Trigger | What it does |
|---|---|
ask <question> |
One-off answer from your default model, copied to the clipboard. |
bolt [message] |
New chat in BoltAI; with a message, it is sent. |
workflow |
Run an AI Workflow or Multi-step Workflow on the clipboard. ↵ pastes the result, ⌘ copies it, ⌥ opens the workflow in BoltAI. |
prompts |
Paste a saved prompt (⌘ copies it). |
| Universal Action Run BoltAI Workflow | Pick a workflow and run it on the selected text. |
Keywords and the bolt path are in the workflow's Configure Workflow sheet.
Needs BoltAI 3.0 or later, which includes bolt, and Alfred 5 with the Powerpack.
In BoltAI, open Settings › Labs and click Install in Alfred: BoltAI downloads the latest release to ~/.boltai/alfred/ and Alfred asks to import it. (Inside BoltAI's container, macOS would block Alfred from reading the file.) Or download BoltAI.alfredworkflow and open it. To update, install again; Alfred keeps your keywords and settings.
The source lives in BoltAI's main repository (integrations/alfred). BoltAI/alfred-workflow is a public copy that publishes releases:
- Raise
versioninsrc/info.plist. - Run
./sync-public-repo.sh(default target~/Codes/project-notes/alfred-workflow). It copies the source there and showsgit status. - Commit and push that repository's
main. Its GitHub Action builds the workflow and creates releasev<version>withBoltAI.alfredworkflowattached. A push without a new version releases nothing.
./build.shThis writes build/BoltAI.alfredworkflow; open it to install. src/info.plist is the workflow itself. After changing objects in Alfred's editor, copy the exported info.plist back into src/.
src/boltai.shfindsbolt(bolt_path, then~/.local/bin/bolt, then anyBoltAI*.appin/Applications,~/Applicationsor/Applications/Setapp, so a renamed Setapp app still works), runs it and maps its exit codes to messages.src/alfred.js(JavaScript for Automation, built into macOS) formats Alfred's JSON, so the workflow needs nojqor Python.- Actions set a
nextvariable (paste,copy,errorornone). One Conditional utility routes it to Copy to Clipboard (with or without auto-paste) or to a notification, so a failed run never touches the clipboard. (The legacy Filter utility didn't stop the flow: a failed run pasted whatever was on the clipboard.) - ⌘ and ⌥ on a
workfloworpromptsrow work through the item'smodsvariables plus a connection for that modifier. Items set no top-levelaction; the script defaults to paste. - The Universal Action stores the selection in the
inputvariable; without it,workflowuses the clipboard.