Repository navigation
Howler v0.1.2
Pre-release
Pre-release
Burn after reading.
The first release under the name Howler (formerly Napkin). A quick question now arrives as a sealed letter: you write on parchment, a quill writes the answer back, and the letter burns when you're done.
What's new
- The letter. Deckled parchment with a crimson wax seal for the model. Answers stream in at a hand's pace, with gold ink and a quill. The page grows up to A4, then scrolls.
- Burn after reading. Esc or a click outside sets the letter alight, and the conversation goes with it. Reduce Motion skips the fire.
- Wax-sealed attachments. Paste long text or a picture, or capture a screen region. The clipboard is read only when you paste.
- One model service, set up by your AI assistant. Settings shows the model, its host and status, a Check button and Copy Setup Prompt. Hand the prompt to Claude Code, Codex or another assistant. It drives Howler's built-in command line (
config set …,check) and saves your key to the Keychain withpbpaste | Howler config set api-key --stdin, so the key never enters the chat. - Any compatible API. Formats: Chat Completions (including local Ollama / LM Studio), Anthropic Messages and Gemini. Presets for OpenAI, Anthropic, Gemini, xAI, DeepSeek and OpenRouter.
bodytakes extra request fields, for example to turn thinking off. - Recordable global shortcut (default ⌥Space) and launch at login.
Install
Download Howler.dmg below, open it, and drag Howler onto Applications. Howler.zip holds the same app. The app is ad-hoc signed and not notarized. Right-click it and choose Open the first time (on macOS 15+, use System Settings › Privacy & Security › Open Anyway), or run:
xattr -dr com.apple.quarantine /Applications/Howler.appRequires macOS 14 or later, on Apple silicon or Intel.
Upgrading from Napkin
Howler uses a new bundle ID, com.hiarieszhou.howler, so set up the model again. Delete Napkin.app, because both apps would compete for ⌥Space.
Known limitations
- Ad-hoc signing means macOS may ask for Keychain access again after an update. Screen-capture permission also has to be granted again.
- Whether a model reads images depends on the service. If it can't, the service's own error is shown.

