Other agents
Natamux has hook support for five agents: Claude Code, Codex, Gemini CLI, GitHub Copilot CLI and Cursor. Any other command line agent still works. Start it in the task’s first terminal.
What Natamux sees without hooks
Section titled “What Natamux sees without hooks”| Signal | Effect |
|---|---|
| Output in the terminal | A sign of life. A running task whose terminal is silent for 10 minutes shows as quiet. |
Terminal bell (\x07) |
Moves a running task to needs input. |
natamux ask |
Moves a running task to needs input, with your question. |
natamux done |
Says the stage is done, so the daemon runs its checks. |
The bell counts only for agents without hooks, or whose hooks do not report a wait (Copilot and Cursor). A bell in the first 15 seconds after an agent launch is ignored.
Skills
Section titled “Skills”Natamux does not know where another agent keeps its skills, so it has no sure call for one. For {skill:<name>} in a stage prompt, and for a skill context source, it follows two rules:
- When a
SKILL.mdof that name exists in the worktree, in your main checkout or on your machine (in the folder of any of the five agents), the prompt saysthe skill in <path> (read that file and follow it). Most agents can read a file and follow it. - Otherwise the prompt says
the <name> skill, and the stage card says “The skillwas not found for .” The stage still starts.
See Skills in a prompt.
Report from a prompt or a script
Section titled “Report from a prompt or a script”Inside a Natamux terminal, NATAMUX_TOKEN, NATAMUX_URL, NATAMUX_TASK_ID and NATAMUX_TERMINAL are set, so the commands know the task.
natamux ask "Keep the old CSV columns, or drop them?"natamux doneTell the agent about both commands in its instructions. For the options, see the CLI reference.
Forward hook JSON
Section titled “Forward hook JSON”If an agent can run a command on an event, pipe its JSON to Natamux:
natamux hook <agent> [event]- It reads the hook’s JSON from stdin and posts it to
POST /hooks/<agent>on the daemon. - It prints nothing, and always exits 0, so it never breaks the agent. It prints
{}forcursorandgemini. - Without
NATAMUX_TOKEN, it does nothing. eventnames the event when the JSON does not (Copilot needs it).- Set
NATAMUX_DEBUGto any value to see problems on stderr.
Send events yourself
Section titled “Send events yourself”natamux event T-42 agent.asked --source agent --payload '{"question":"Which database?"}'See the CLI reference for the event types.
Related
Section titled “Related”- Mix agents in one task: an agent and model per stage