Installs Taskwarrior-side configuration and creates the default Taskcheck config file.
--install is interactive. It asks three separate questions:
- Required settings — if you confirm, it creates the Taskwarrior UDAs/settings listed below.
- Optional settings — only if you confirm, it applies the urgency/report tuning listed below.
- Default config file — only if you confirm, it creates
~/.config/task/taskcheck.tomlwhen that file does not already exist.
- it does not schedule tasks
- it does not fetch calendar events
- it does not modify task dates (
scheduled,completion_date) beyond setup - it does not authenticate Google Calendar
Working-hour profiles used by tasks via time_map.
Each day key maps to a list of [start, end] ranges in 24h time.
Example:
[time_maps.work]
monday = [[9, 12.30], [14, 17]]
tuesday = [[9, 12.30], [14, 17]]days_ahead: how far ahead to search for slotsweight_urgency: multiplier for non-due urgency used by the baseline schedule; override with--urgency-weight. Due urgency is never multiplied.urgency_epsilon: positive increment used to move an overdue task immediately above the next task in the descending total-urgency ranking (default:0.1)max_top_urgency_rounds: number of additional epsilon retries after an overdue task reaches rank 1 (default:10); one final retry uses total urgency1000n_undos: maximum number of schedule backups retained under<Taskwarrior data>/taskcheck/undos(default:1);0disables backups
Blocks unavailable time from iCal / Google Calendar.
url: iCal URL orgoogle://<calendar-id>expiration: cache lifetime in hourstimezone: optional forced timezoneevent_all_day_is_blocking: treat all-day events as blocking- Google only:
provider = "google",calendar_id,token_path
include_unplanned: show unplanned tasks tooadditional_attributes: extra columns for planned tasksadditional_attributes_unplanned: extra columns for unplanned tasksunplanned_max_due: hide dated unplanned tasks beyond a Taskwarrior-relative horizonemoji_keywords: map description keywords to emoji
These User Defined Attributes (UDAs) store Taskcheck's input and results in Taskwarrior.
| Setting | Meaning |
|---|---|
uda.time_map.type = string |
Adds time_map: the named working-hours profile used by a task. |
uda.time_map.default = work |
Uses the work profile if a task does not specify one. |
uda.estimated.type = duration |
Adds estimated: expected task duration, for example 2h. |
uda.completion_date.type = date |
Adds completion_date: Taskcheck's predicted finish date. |
uda.scheduling.type = string |
Adds scheduling: schedule data used by Taskcheck reports. |
uda.min_block.type = numeric |
Adds min_block: the work chunk assigned before Taskcheck recalculates urgency; default 2 hours. |
uda.agent_weight.type = numeric |
Adds agent_weight: percentage (0–100) of a tagged +agent task’s execution time requiring human interaction. |
uda.agent_weight.default = 25 |
Uses 25% of an agent task’s execution time as human-interaction time unless the task sets another value. |
recurrence.confirmation = no |
Prevents confirmation prompts while Taskcheck updates recurring tasks. See recurring tasks. |
Tag a task +agent and set agent_weight to a number between 0 and 100.
For example, estimated:5h agent_weight:10 +agent represents five hours of
agent execution and 30 minutes of human interaction. Multiple agents may run
within the same work chunk, and human tasks can use the remaining interaction
budget, including allocations smaller than min_block. Only the containing
work chunk is scheduled; internal subdivisions are not written to Taskwarrior.
Ordinary (non-agent) work remains exclusive when no agent anchors the chunk.
Tasks dependent on work in the mixed chunk must wait for a later chunk.
These settings are optional; Taskcheck works without them.
| Setting | Meaning |
|---|---|
urgency.uda.estimated.*.coefficient |
Gives estimates from 1 to 36 hours an urgency contribution. See urgency. |
report.ready.columns |
Replaces the columns shown by task ready with Taskcheck-friendly scheduling columns. See reports. |
journal.info = 0 |
Hides informational journal entries in task details. See configuration. |
urgency.inherit = 1 |
Makes dependent tasks inherit urgency from tasks that depend on them. See urgency. |
urgency.blocked.coefficient = 0 |
Removes Taskwarrior's urgency adjustment for tasks blocked by dependencies. |
urgency.blocking.coefficient = 0 |
Removes Taskwarrior's urgency adjustment for tasks blocking dependencies. |
urgency.waiting.coefficient = 0 |
Removes Taskwarrior's urgency adjustment for waiting tasks. |
urgency.scheduled.coefficient = 0 |
Removes Taskwarrior's urgency adjustment for scheduled tasks. |
The final four settings use Taskwarrior's urgency configuration. Taskcheck accounts for those states itself while scheduling.
-v,--verbose: increase output verbosity-i,--install: install Taskwarrior settings + default config-r,--report REPORT: render a report up to the given Taskwarrior date spec-t,--timeline DATE: render a project-grouped timeline up to the given Taskwarrior date spec--zoom {auto,day,week,month}: choose timeline column granularity;auto(the default) selects the most detailed view that fits the terminal width-s,--schedule: run scheduling and write results back--undo: restore the scheduling fields from the newest backup and consume it-f,--force-update: refresh calendars, ignoring cache--taskrc TASKRC: use a custom TASKRC directory--urgency-weight FLOAT: override the initial non-due urgency weight-d,--dry-run: preview scheduling without modifying Taskwarrior. With--schedule, saves the generated schedule to Taskwarrior's data directory; with--reportor--timeline, loads that saved preview.--no-auto-adjust-urgency: disable per-task automatic urgency adjustment when deadlines cannot be met--add-google-calendar: authenticate with Google and print a ready-to-paste config block
- first install:
pipx install taskcheck && taskcheck --install - schedule now:
taskcheck --schedule - undo the latest schedule:
taskcheck --undo - create a reusable preview:
taskcheck --schedule --dry-run - report the saved preview:
taskcheck --report today --dry-run - timeline the saved preview:
taskcheck --timeline 1w --dry-run - report:
taskcheck --report today - daily timeline:
taskcheck --timeline 1w - weekly timeline:
taskcheck --timeline eom --zoom week
Timeline projects follow Taskwarrior's dotted hierarchy. Its symbols are ▶ start, ━ work, ◀ end, and ◆ deadline. In the daily view, │, ┃, and ║ mark day, week, and month boundaries. Colors are assigned deterministically per project; COLORFGBG selects light or dark colors when the terminal provides it.