> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scheduled tasks

In Quest, you can schedule a task to run automatically at a specified time using the `/schedule` command or a natural-language description.

## Use cases

* **Overnight code maintenance**: focus on feature work during the day and schedule time-consuming tasks such as refactoring, dead-code cleanup, and naming-convention fixes to run overnight.
* **Tests and documentation**: before you leave, schedule Quest to fill in test cases for the day's changes or generate module documentation, and review the results when you arrive the next morning.
* **Security and dependency scans**: schedule security-vulnerability scans and dependency checks regularly to keep the project's health up to date.
* **Combine with Goal mode**: schedule a [Goal](./goal-driven) task to run overnight so Quest can iterate autonomously toward the goal, making full use of off-peak hours.

## How to use

**Command trigger**: type `/schedule` followed by a task description in the input box, for example:

```
/schedule At 10 PM tonight, fill in tests for the code I changed today
```

**Natural-language trigger**: just include the timing intent in your message, for example "refactor the code I changed today tonight to improve readability." Once Quest recognizes the intent, it confirms any missing information and completes the creation.

After it's created, a scheduled-task card appears in the conversation flow. If you need to adjust it, click **Edit** on the card to open the form. When the scheduled time arrives, Quest starts the task automatically; the execution process and results appear in the corresponding conversation, where you can view them the next time you open it.

<Note>Make sure Qoder is running at the scheduled execution time. If "Keep system awake" is enabled, Qoder prevents the system from sleeping before the task time.</Note>

### Convert a Spec into a scheduled task

In [Spec-driven](./spec-driven) mode, after you finish requirement clarification and Spec generation as usual, click the **Schedule** button in the **build on** area of the Spec card, set the execution time, and save — Quest will then run that Spec automatically at the scheduled time.

### Edit the task form

Click the task card or the task entry in the **Summary** on the right to open the edit form, which includes the following fields:

* **Task name**: a short description of the task.
* **Scheduled time**: pick a date and time.
* **Task instructions**: the full prompt Quest uses when it runs.
* **Model selection**: defaults to the current conversation's model; you can switch it.
* **Goal toggle**: choose whether to run the task in Goal mode.

### Find and manage tasks

* **Clock icon in the left sidebar**: conversations with pending scheduled tasks show a clock marker in the conversation history list. The icon disappears automatically once all tasks have run or been deleted.
* **Summary panel on the right**: when a conversation contains scheduled tasks, a **Scheduled tasks** section appears in the Summary panel, listing all tasks; click one to jump to its edit form.
* **Multiple tasks per conversation**: you can create multiple scheduled tasks in the same conversation; they are managed independently and don't affect each other.

## Best practices

* **Write clear task instructions**: you won't be present when a scheduled task runs, so Quest relies entirely on the task instructions. Write them like a handover note for a colleague — make the scope, focus, and constraints explicit.
* **Make the most of Goal + scheduled tasks**: for goals that need continuous iteration, such as "raise test coverage to 80%," enabling Goal mode and scheduling it to run overnight works best.
