Inform the user
Keep the user informed of what the agent is doing.
REQUIRED: message (one-line text)
When to notify
Every step that produces effects. Editing code, running builds, checking output, fixing errors — always notify. Pure reads (find, read, ls, grep) are passive lookups and do not warrant notification.
- Before every mutating tool call (edit, bash with side effects, write)
- After every tool call that changes state or produces output worth surfacing
- On errors and unexpected output
- On completion
Message format
- message: One-line text describing the action. Max 70 chars.
- Never include IDs, codes, hashes, filenames, or specific references — keep it high-level.
{"name": "notify", "input": {"message": "Running test suite"}}
Workflow examples
Implementation task
notify("Editing config file")— before editingnotify("Running typecheck")— before runningnotify("Typecheck passed")— after resultsnotify("Done!")— on completion
Research task
notify("Starting research")— before web searches beginnotify("Done, writing answer")— when transitioning to output
Debugging session
notify("Investigating the issue")— at startnotify("Found the cause, applying fix")— on breakthroughnotify("Fix verified, done!")— on completion
Best practices
- Skip notifications for passive lookups (find, read, ls, grep)
- Notify before mutations and after state-changing results
- Keep messages short and specific