Overview
The "Tmux Scheduler" node enables scheduling and managing automated tasks related to agent check-ins, reminders, and cron jobs within tmux sessions or windows. It is useful for orchestrating timed notifications, recurring commands, and task management in environments where tmux is used for session multiplexing.
Common scenarios include:
- Scheduling a future check-in notification to an agent at a specified time.
- Creating reminders with custom messages for agents.
- Managing cron jobs to automate recurring commands.
- Listing all scheduled tasks including at-jobs, cron jobs, and reminders.
- Canceling scheduled tasks by their IDs.
- Batch scheduling multiple check-ins at once.
Practical example: An operations team can use this node to schedule periodic status check-ins for remote agents, set reminders for important deadlines, and automate routine maintenance commands via cron jobs, all integrated into their tmux environment.
Properties
| Name | Meaning |
|---|---|
| Target Window | The tmux target window or session where the check-in or reminder will be sent (e.g., session:window). Required for scheduling check-ins and creating reminders. |
| Minutes Until Check-In | Number of minutes from now until the check-in occurs. Used only for the "Schedule Check-In" operation. Default is 30 minutes. |
| Check-In Note | Optional note or instructions included with the scheduled check-in message. Used only for the "Schedule Check-In" operation. |
Output
The node outputs JSON objects describing the result of the requested operation. For the "Schedule Check-In" operation, the output includes:
success: Boolean indicating if the scheduling succeeded.targetWindow: The tmux target window where the check-in was scheduled.minutesUntil: Minutes until the check-in occurs.scheduledTime: ISO timestamp when the check-in is scheduled.note: The note or instructions attached to the check-in.message: A human-readable confirmation message.
For other operations, outputs vary but generally include success flags, identifiers of created or canceled tasks, lists of scheduled jobs, and error messages if applicable.
The node does not output binary data.
Dependencies
- Requires access to a tmux environment where commands can be executed.
- Uses system utilities such as
atfor scheduling one-time jobs andcrontabfor managing cron jobs. - Optionally depends on external scripts (e.g.,
send-claude-message.sh) located in a configurable scripts directory. - Reads and writes to temporary files like
/tmp/tmux-reminders.jsonto track reminders. - May require an API key credential for a tmux orchestrator service, which can specify script directories and project base paths.
Troubleshooting
- Scheduling failures: Errors like "Unable to schedule check-in: send-claude-message.sh script not found" indicate missing required scripts or misconfigured script paths. Ensure the external scripts exist and the path is correctly set in credentials.
- Reminder time errors: Setting a reminder time in the past results in "Reminder time must be in the future". Verify that the reminder datetime is correct.
- Cron job management issues: Errors when creating or deleting cron jobs may arise from insufficient permissions or invalid cron expressions. Validate cron syntax and ensure the user running n8n has rights to modify crontab.
- Task cancellation errors: If a task ID is not found, the node throws "Task [ID] not found". Confirm the task ID is correct and corresponds to an existing scheduled job.
- JSON parsing errors: For batch scheduling, the input must be a valid JSON array. Malformed JSON will cause failure.