Use owl's Telegram approval system with hawk-hooks as the hook manager.
- owl installed:
uv tool install owl-afkorpipx install owl-afk - hawk-hooks set up: Run
hawk-hooksto initialize - Telegram bot configured: Run
owl installto configure your bot token and chat ID (then runowl uninstallto remove standalone hooks)
If you previously used owl install (standalone mode), uninstall those hooks first:
owl uninstallThis prevents duplicate hooks running.
owl hawk installOr equivalently:
owl hawk-hooks installThis creates and enables owl wrapper scripts in ~/.config/hawk-hooks/hooks/:
pre_tool_use/owl-pre_tool_use.sh- Remote approval for tool callspost_tool_use/owl-post_tool_use.sh- Deliver queued messages after tool executionstop/owl-stop.sh- Notify on session stopsubagent_stop/owl-subagent_stop.sh- Notify when subagents complete
When using hawk-hooks mode:
- Same config - Uses
~/.config/owl/for settings, rules, and storage - Same features - Approve/deny, rules, chain approval all work
- Inline polling - Hooks poll Telegram inline during execution
Config is stored in ~/.config/owl/:
~/.config/owl/
├── config.json # Telegram bot token, chat ID
├── owl.db # Rules and request history
└── mode # "on" or "off"
To configure credentials, either:
- Run
owl install(thenowl uninstallto remove standalone hooks), or - Edit
~/.config/owl/config.jsondirectly with yourtelegram_bot_tokenandtelegram_chat_id
owl hawk uninstall
hawk-hooks toggle # Update runners