THE CHELUS GUIDE

Give later a place.

Schedule a prompt or script, then receive the result in Telegram while the bridge is running.

Create a job

sh
chelus cron add --name tea "in 30m" Remind me the tea is ready
chelus cron add "every day at 9am" Check the battery and tell me if it is under 30 percent

Options go before the schedule. Use in 30m for a one-shot job; 30m or every 2h is recurring. Weekday schedules, five-field cron, and timestamps are also supported. Times use the phone’s local timezone.

You can also ask Chelus in chat to create a reminder. Its owner-only cron tool asks before creating, updating, resuming, running, or removing a job. Pausing needs no approval. The tool is unavailable inside scheduled runs.

Inspect, pause, or remove

sh
chelus cron
chelus cron runs
chelus cron pause JOB
chelus cron resume JOB
chelus cron run JOB
chelus cron remove JOB

Replace JOB with a listed job ID. In Telegram, /cron and /cron pause|resume|run|remove JOB manage jobs without the model, so you can stop a noisy job during a provider outage. run queues it for the bridge’s next tick.

Unattended means nobody can approve

Each scheduled prompt starts with a fresh conversation. Risky tools can use only an existing “Always” grant for that exact action; denied tools are listed in the result. A reply of [SILENT] sends nothing.

Recurring messages include the next run and how to stop the job. Missed runs catch up once and are marked late. The bridge can carry delivered job context into your next conversation turn.

Skip the model when a script will do

Place a script under ~/.local/share/chelus/scripts/, then create a script job. This example assumes you have written battery.py; it is not a bundled script.

sh
chelus cron add --name battery --script battery.py --no-agent "every day at 9am"

With --no-agent, script output becomes the Telegram message and no model tokens are used. Without it, output becomes context for the prompt. Scripts run in their own process group from the work folder, with a five-minute limit and bounded output.

Know the boundary

The bridge is the clock.

Jobs run only while it runs. With Termux:Boot it starts again after a reboot, and a missed run catches up once. Days of Doze haven’t been measured, so don’t treat a Termux process as a guaranteed notification service.

Live device results and test-only paths are tracked in project status. The source scheduler notes cover the implementation.

Found a gap? Open an issue or consult the source documentation.