# Manual Scheduling
URL: https://pro.rv-grid.com/guides/gantt/scheduling/manual/
Source: src/content/docs/guides/gantt/scheduling/manual.mdx
Description: Use taskMode to lock dates and override automatic dependency propagation.
Set `taskMode` on each task, or use `taskModeDefault` for tasks that omit it:

```typescript
{
  id: 'kickoff',
  name: 'Fixed Kickoff Event',
  taskMode: 'manual',
  startDate: '2026-04-20',
  endDate: '2026-04-20',
  duration: 0,
  // other task fields
}
```

Automatic tasks are dependency-safe. Dragging, resizing from the start edge, or editing an automatic successor before its predecessor allows will clamp the effective schedule to the dependency-valid date.

Manual tasks keep authored dates. If the manual start violates an active dependency, the scheduler reports `manual-dependency-violation` and the row/bar renders a scheduling warning indicator.

  Microsoft Project's Task Mode field defaults new tasks to manually scheduled in some desktop versions. RevoGrid defaults to automatic scheduling because dependency safety is the default expectation for this Gantt plugin. Set `taskModeDefault: 'manual'` to make omitted task modes behave manually.

## Dependency Violations

When a manual task is placed at a date that violates an incoming dependency (e.g., starts before a FS predecessor finishes), the scheduler does not move the task. Instead, it:
1. Records a `manual-dependency-violation` conflict.
2. Displays a warning icon in the "Scheduling Warning" column.
3. Highlights the task bar with warning styling.

This allows planners to maintain "best guess" or "negotiated" dates while still seeing where the logical project structure is broken.
