Plan and schedule
Working with tasks
Last updated 22 October 2026
Tasks are the rows of your Ganttastic project. This page covers every way to add and edit them: the toolbar buttons, List view columns, the Task Details panel, Bulk Add for many rows at once, the right-click menu, drag-and-drop scheduling, duplicating, sub-tasks, colors, status, and undo.
Every task carries a name, start and finish dates, a duration, and a progress percentage, plus optional resources, a color, a status, predecessors, and notes. If you are building a schedule for the first time, your first project walks through the workflow end to end; this page is the reference.
Add tasks and sub-tasks
The toolbar has three add controls when a project is open:
- + Task creates a row named "New Task" at the end of the task list and opens the Task Details panel on it. Pressing Insert does the same.
- + Sub-task is active only while a task is selected. It adds an indented sub-task under the selection and opens the panel on it. Ganttastic supports one level of sub-tasks.
- Bulk Add creates many rows at once (covered below).
Right-click any row for the Add submenu: New Task appends a task at the end of the list (not at the clicked position), and New Sub-task adds a sub-task under the clicked task. Right-clicking empty chart space offers New Task Here, which creates a task starting at the date you clicked.
Selection and clicks work like this:
- A single click selects a row. Ctrl+click (Cmd+click on Mac) adds a row to the selection or takes it out again, and Ctrl+A selects every row in view.
- Esc, or a click on an empty part of the timeline, clears the selection. In the Gantt view the arrow keys move the selection, Enter opens Task Details, and Backspace deletes like Delete. The full list is in views and navigation.
- A double-click on a row or bar opens the Task Details panel. Double-clicking directly on the task name in the Gantt table renames it in place instead; in List view, names are always editable.
- A right-click selects the row and opens the context menu.
Columns in List view
List view shows your tasks as an editable table with ten columns:
| Column | What it holds |
|---|---|
| ID | Automatic number (2 for a task, 2.1 for a sub-task). Read only. |
| Task Name | The name, editable in place. |
| Duration | Working days, in steps of 0.25. Non-working days are excluded. Anything under 0.25 is refused with a "Duration too short" message. |
| Start | When the task begins. |
| Finish | When the task ends. |
| % Complete | Progress from 0 to 100. Parent rows aggregate their sub-tasks. |
| Resource Names | Who is assigned to the task. |
| Status | Free text, such as On track or Blocked. |
| Predecessors | The dependency expression, typed directly into the cell. |
| Notes | Free notes, up to 4,000 characters. The Task Details panel labels this field Description. |
To choose which columns display, click the Columns button above the table, or right-click the header row to open the Visible Columns menu. ID and Task Name are always shown; the other eight can be hidden. Your choices are saved per project.
On a row that has sub-tasks, Duration, Start, Finish, % Complete, and Resource Names are locked because they come from the sub-tasks. Edit the sub-tasks instead.
To edit a note, click its cell or press Enter on it. Enter then adds a new line, clicking away saves, and Esc puts the old text back. The cell shows the first four lines of a note.

The Task Details panel
Double-click a task, or right-click it and choose Edit Task, to open the Task Details panel. It slides in from the right and has two tabs. The line under its title says what you can do: "Editing" and the task name when you can edit the project, or "Viewing" and the task name, followed by "You can view this project but not edit it.", when you are a viewer.
The General tab holds the core fields:
- ID (read only) and Task Name. A task name cannot be blank; emptying it is rejected with a "Task name required" message.
- Start and End with calendar pickers (typed dates work too), and Duration in working days, in increments of 0.25. The pickers show non-working days muted, but you can still pick them. A typed date must use the project’s date format; anything else is refused with an "Unrecognized date" message that shows an example of the right format. Enter commits a typed date and Esc puts the old one back.
- Progress (%), a whole number from 0 to 100. A value outside that range is refused with "Progress out of range", and a fraction is dropped (45.5 becomes 45).
- The Milestone checkbox, shown on tasks but not on sub-tasks. A milestone’s Duration is locked.
- Assigned Resources, a searchable picker that accepts several resources. Its Add New Resource entry opens Project Settings on the Resources tab without closing the panel, and the new resource appears in the list right away.
- Color, the bar color picker.
Dates and duration move together like this:
- Changing Start keeps the duration, so End slides with it.
- Changing End to a date on or after Start recounts Duration in working days.
- Changing End to a date before Start slides Start back so the duration stays the same.
- Changing Duration moves End.
- A Duration under 0.25 is refused with "Duration too short", and nothing changes.
The Dependencies & Notes tab has the dependency expression field with an Add Dependency picker button, plus a Description field for notes, capped at 4,000 characters with a live counter. If a typed dependency list names an ID the project does not have, the whole entry is refused with an "Invalid Dependency ID" message. A paste that would take the Description past 4,000 characters is trimmed to fit, and a message says so.
Edits commit when you leave a field. The footer’s Save button enables while changes are pending, and Close (or the X, or a click outside the panel) closes it; a warning guards unsaved changes. On a task with sub-tasks, Start, End, Duration, and Progress are disabled and marked "Rolled up from subtasks."

Working on a weekend or holiday
When you type or drag a Start or End date onto a day that is not a working day in the project, such as a weekend day or a project holiday, Ganttastic asks before it saves. The Not a working day question offers three choices:
- Work on this day keeps your date and sets the task to work on non-working days. Every day from Start to End then counts toward its duration, weekends and holidays included.
- Move to (the next working day, named on the button) moves the date there instead.
- Cancel leaves the task as it was.
When both dates land on non-working days, the buttons read Work on these days and Move to working days.
A task set to work on non-working days shows a note in Task Details: "This task works on non-working days. Every day from Start to End counts." The Use the project calendar button beside it puts the task back on the project’s working days. While the setting is on, the hint under Duration reads "(counts every day)" instead of "(excludes non-working days)". The working week and holidays themselves are set in the work calendar.

Bulk Add many tasks at once
Bulk Add sits in the toolbar in both Gantt and List views, and there is no plan restriction: anyone who can edit the project can use it, including free accounts and guests on their own projects.
- Click Bulk Add.
- Choose Task or Sub-task.
- Set How many to add? (10 by default, up to 100 per batch).
- For sub-tasks, enter the Parent Task ID. This field is required, and it only appears when you pick Sub-task.
- Click Add Items.
The new rows arrive named in sequence ("New Task 4", "New Task 5", and so on), ready to rename in place. The dialog refuses a count under 1 ("Must be at least 1") or over 100 ("Cannot add more than 100 at a time."), and a Sub-task batch without a parent ("Parent Task ID is required for sub-tasks.").
The dialog has two tabs. It opens on Blank tasks, which works as described above. Paste tasks turns a list of names into tasks: paste one task name per line, up to 100, then set a Start date and a Duration in days. Every pasted task gets those same dates, moved to a working day if needed, and a preview shows them before you click Add tasks (the button counts them, for example "Add 7 tasks"). The new tasks go at the end of the list. Blank lines are skipped and each name is kept exactly as typed, numbering included. Columns and dates in the paste are not read: a paste that looks like a table is refused with "Paste one task name per line. Columns and dates are not read; set dates in the grid after adding."

The right-click menu
Right-click a task in either view for its context menu:
- Edit Task opens the Task Details panel. On a sub-task the item reads Edit Sub-task.
- Add holds New Task and New Sub-task, described above.
- Set Progress % offers 0%, 25%, 50%, 75%, and 100%; the Gantt view adds Custom... for any value. This item is not offered on tasks with sub-tasks, whose progress rolls up automatically.
- Convert to Sub-task... (Gantt view only, for a task that is not a sub-task and has no sub-tasks) opens a picker to choose the new parent. On sub-tasks the Gantt menu shows Convert to Task instead, which promotes the row to the top level.
- Convert to Milestone turns the task into a milestone; on a milestone it reads Unmark milestone. See dependencies and milestones.
- Manage Dependencies holds Add Dependency... and a Remove entry for each existing link. Add Dependency opens a searchable picker with a Dependency type selector (FS, SS, FF, or SF) and a Lag (days) field; finish to start with no lag is the default. You can also type links with the text syntax in the Predecessors column or the panel.
- Duplicate Task copies the task (next section).
- Delete Task, shown in red, removes the task and all of its sub-tasks after a confirmation dialog. If the row you right-clicked is part of a selection of several rows, the whole selection is deleted; if it is outside the selection, only that row is. The toolbar Delete button and the Delete key act on the current selection.
The List view menu is shorter. It has no Custom... progress, no Convert to Sub-task..., and no Convert to Task, and New Sub-task appears only on a task that has no sub-tasks yet.

Duplicate a task
Right-click a task and choose Duplicate Task. The copy behaves like this:
- It is appended at the bottom of the task list, not placed under the original.
- It takes the original’s name plus a suffix, so "Design" becomes "Design (Copy)".
- Sub-tasks are copied along with it.
- Dependency links are stripped from the copy, so add back any predecessors it should keep.
Drag and drop
Most schedule edits are quicker with the mouse:
- Drag a bar left or right to shift the whole task.
- Drag either end of a bar to change its start or finish, which changes its duration.
- Drag the circular handle on a bar and release it on another bar to create a dependency.
The bar of a task that has sub-tasks, and a milestone, cannot be dragged or resized. Move the sub-tasks one by one, and change a milestone’s date in Task Details. A bar also cannot be dragged past the part of the timeline that is drawn: it stops at the edge and a "Bar kept in view" notice appears. On the Project Manager plan the notice suggests switching the view to Full Project; on other plans it says to open the task and type the date.
Rows move by their grip handle, and the two views treat a drop differently:
- In the Gantt table, drop a row on the upper or lower edge of another row to place it above or below. Drop it on the middle of a task to make it that task’s sub-task.
- In the List view, dropping a task that has no sub-tasks onto another task that is not a sub-task always makes it a sub-task. To reorder those tasks, use the Gantt table.
- Sub-tasks, and tasks that have sub-tasks, move above or below the row you drop them on, in either view.
- A row cannot become the sub-task of a sub-task: in the Gantt table the target row turns red and the drop is refused. A task that has sub-tasks is never nested under another task.
Sub-tasks and summary rows
Ganttastic supports tasks and one level of sub-tasks. Sub-tasks of task 2 are numbered 2.1, 2.2, and so on.
A task with sub-tasks becomes a summary row. Its start is the earliest sub-task start, its finish is the latest sub-task finish, and its progress is the average of its sub-tasks weighted by duration. You cannot edit these values directly; the panel disables them and shows "Rolled up from subtasks."
To restructure, drag a row onto the middle of a task in the Gantt table to make it a sub-task, or use Convert to Sub-task... in the Gantt view menu. Convert to Task promotes a sub-task back to the top level.
Task colors and how bars are drawn
Each task can have its own bar color. Open the Task Details panel and use the Color picker on the General tab. New tasks start with the default blue. Color is set per task, so you can shade bars by phase or by team to make the chart read at a glance. A sub-task with no color of its own uses its parent’s color.
Each bar is drawn in a light shade of its color, and the darker part from the left is its progress. Hovering a bar shows the task name, Start, End, Duration, Progress, and Notes, plus how far it has moved from the baseline when the project has a baseline and baseline bars are shown. Non-working days and project holidays are shaded on the chart.
Task status
The Status column in List view is free text. Type whatever fits your workflow, for example On track, At risk, Blocked, or Done. Status has no effect on scheduling; it is a label for people.
Status also shows up beyond the table:
- The AI assistant reads task status when it answers questions about the project or writes summaries.
- PNG and PDF exports can include Status as an optional column, and .gwise files carry it in full. The Excel export does not include a Status column. See export your project.
Undo and redo
Press Ctrl+Z (Cmd+Z on Mac) to undo and Ctrl+Y or Ctrl+Shift+Z (Cmd+Shift+Z on a Mac) to redo. A toast names each change as it is reversed or restored, for example "Undo: Add task".
History is kept per project, up to 30 steps, for your current session only. Once you leave or reload the page, it is cleared, which is why Delete Task asks for confirmation first. Switching to another project drops the redo steps; the undo steps stay with each project until you leave the page.
Two behaviors worth knowing:
- When a dependency edit reschedules downstream tasks, a toast summarizes the cascade and offers a one click Undo for 15 seconds.
- Changes made by the AI assistant join the same history, so you can undo an AI edit, and redo it, just like your own.
Easier to try than to read about.
Open Ganttastic in your browser and follow along. No account needed.