mayros hooks
Manage agent hooks (event-driven automations for commands like /new, /reset, and gateway startup).
Related:
List All Hooks
bashmayros hooks list
List all discovered hooks from workspace, managed, and bundled directories.
Options:
--eligible: Show only eligible hooks (requirements met)--json: Output as JSON-v, --verbose: Show detailed information including missing requirements
Example output:
Hooks (4/4 ready)
Ready:
🚀 boot-md ✓ - Run BOOT.md on gateway startup
📎 bootstrap-extra-files ✓ - Inject extra workspace bootstrap files during agent bootstrap
📝 command-logger ✓ - Log all command events to a centralized audit file
💾 session-memory ✓ - Save session context to memory when /new command is issued
Example (verbose):
bashmayros hooks list --verbose
Shows missing requirements for ineligible hooks.
Example (JSON):
bashmayros hooks list --json
Returns structured JSON for programmatic use.
Get Hook Information
bashmayros hooks info <name>
Show detailed information about a specific hook.
Arguments:
<name>: Hook name (e.g.,session-memory)
Options:
--json: Output as JSON
Example:
bashmayros hooks info session-memory
Output:
💾 session-memory ✓ Ready
Save session context to memory when /new command is issued
Details:
Source: mayros-bundled
Path: /path/to/mayros/hooks/bundled/session-memory/HOOK.md
Handler: /path/to/mayros/hooks/bundled/session-memory/handler.ts
Homepage: https://apilium.com/us/doc/maryos/automation/hooks#session-memory
Events: command:new
Requirements:
Config: ✓ workspace.dir
Check Hooks Eligibility
bashmayros hooks check
Show summary of hook eligibility status (how many are ready vs. not ready).
Options:
--json: Output as JSON
Example output:
Hooks Status
Total hooks: 4
Ready: 4
Not ready: 0
Enable a Hook
bashmayros hooks enable <name>
Enable a specific hook by adding it to your config (~/.mayros/mayros.json).
Note: Hooks managed by plugins show plugin:<id> in mayros hooks list and
can’t be enabled/disabled here. Enable/disable the plugin instead.
Arguments:
<name>: Hook name (e.g.,session-memory)
Example:
bashmayros hooks enable session-memory
Output:
✓ Enabled hook: 💾 session-memory
What it does:
- Checks if hook exists and is eligible
- Updates
hooks.internal.entries.<name>.enabled = truein your config - Saves config to disk
After enabling:
- Restart the gateway so hooks reload (menu bar app restart on macOS, or restart your gateway process in dev).
Disable a Hook
bashmayros hooks disable <name>
Disable a specific hook by updating your config.
Arguments:
<name>: Hook name (e.g.,command-logger)
Example:
bashmayros hooks disable command-logger
Output:
⏸ Disabled hook: 📝 command-logger
After disabling:
- Restart the gateway so hooks reload
Install Hooks
bashmayros hooks install <path-or-spec> mayros hooks install <npm-spec> --pin
Install a hook pack from a local folder/archive or npm.
Npm specs are registry-only (package name + optional version/tag). Git/URL/file
specs are rejected. Dependency installs run with --ignore-scripts for safety.
What it does:
- Copies the hook pack into
~/.mayros/hooks/<id> - Enables the installed hooks in
hooks.internal.entries.* - Records the install under
hooks.internal.installs
Options:
-l, --link: Link a local directory instead of copying (adds it tohooks.internal.load.extraDirs)--pin: Record npm installs as exact resolvedname@versioninhooks.internal.installs
Supported archives: .zip, .tgz, .tar.gz, .tar
Examples:
bash# Local directory mayros hooks install ./my-hook-pack # Local archive mayros hooks install ./my-hook-pack.zip # NPM package mayros hooks install @apilium/mayros-my-hook-pack # Link a local directory without copying mayros hooks install -l ./my-hook-pack
Update Hooks
bashmayros hooks update <id> mayros hooks update --all
Update installed hook packs (npm installs only).
Options:
--all: Update all tracked hook packs--dry-run: Show what would change without writing
When a stored integrity hash exists and the fetched artifact hash changes,
Mayros prints a warning and asks for confirmation before proceeding. Use
global --yes to bypass prompts in CI/non-interactive runs.
Bundled Hooks
session-memory
Saves session context to memory when you issue /new.
Enable:
bashmayros hooks enable session-memory
Output: ~/.mayros/workspace/memory/YYYY-MM-DD-slug.md
See: session-memory documentation
bootstrap-extra-files
Injects additional bootstrap files (for example monorepo-local AGENTS.md / TOOLS.md) during agent:bootstrap.
Enable:
bashmayros hooks enable bootstrap-extra-files
See: bootstrap-extra-files documentation
command-logger
Logs all command events to a centralized audit file.
Enable:
bashmayros hooks enable command-logger
Output: ~/.mayros/logs/commands.log
View logs:
bash# Recent commands tail -n 20 ~/.mayros/logs/commands.log # Pretty-print cat ~/.mayros/logs/commands.log | jq . # Filter by action grep '"action":"new"' ~/.mayros/logs/commands.log | jq .
See: command-logger documentation
boot-md
Runs BOOT.md when the gateway starts (after channels start).
Events: gateway:startup
Enable:
bashmayros hooks enable boot-md