The GitHub Copilot CLI keeps getting more capable. One of the newer additions is the ability to schedule prompts, either on a repeating interval or as a one-shot delayed action. Let me walk you through both approaches.
Two ways to schedule
The /every command schedules a prompt to run repeatedly at a specified interval, while /after schedules a one-shot prompt to run once after a specified delay.
Both commands are still experimental. They are only available if you have used the /experimental on slash command, or the --experimental command-line option first.
Use the following slash command to enable experimental mode in your session:
/experimental on
Recurring prompts with /every
Use /every when you want Copilot to repeat a task on a cadence during your session.
/every 10m Run the test suite and summarize any new failures
/every 1h Check for new comments on my open pull requests
A number with no suffix is interpreted as minutes — so /every 30 remind me to check for Slack messages schedules the prompt every 30 minutes. The minimum interval is 10 seconds and the maximum is 1 day (24 hours).
You can also schedule a skill directly:
/every 1d /review-architecture Improve the architecture of the project
Only user-invocable skills can be scheduled this way. You cannot include built-in slash commands such as /clear in a scheduled prompt.
One-shot delays with /after
Use /after when you want to fire a prompt once after a delay and then forget about it.
/after 30m Give me details of changes to README.md made in the last 30 minutes
/after 10m Check that the address finder is visible on example.com/register
The prompt fires once, after the delay has elapsed, and is then removed from the schedule list.
Important: if an /after schedule had not been triggered before you closed the session, it remains in the schedule list and will be triggered after the specified delay in the reopened session.
Managing your schedules
When a scheduled prompt is triggered, Copilot will include a prompt id like [Scheduled prompt #2] to distinguish it from a prompt you typed yourself. You can use the ID to cancel the schedule — for example, by entering stop prompt 2.
You can always view the list of active schedules. Therefore type /every or /after with no arguments.
To delete a schedule, use the arrow keys to move through the list and select the schedule you want to delete, then press d. Press Esc to exit the schedule list.
The catch: session-scoped only
There is one thing to be aware of when using scheduled prompts; prompts are scoped to the session they were created in. This means that they are only triggered while that session is running. Close your terminal and the schedules stop.
When a session is resumed, the schedule will be re-activated but nothing happens when the session is not active.
If you want to execute a prompt when no session is active, you need to schedule a prompt using the Task Scheduler or through GitHub actions or Azure DevOps pipelines.
More information
Scheduling prompts in GitHub Copilot CLI