1taskrc(5)                        User Manuals                        taskrc(5)
2
3
4

NAME

6       taskrc - Configuration details for the task(1) command
7
8

SYNOPSIS

10       $HOME/.taskrc
11       task rc:<directory-path>/.taskrc ...
12       TASKRC=<directory-path>/.taskrc task ...
13
14

DESCRIPTION

16       Taskwarrior obtains its configuration data from a file called .taskrc .
17       This file is normally located in the user's home directory:
18
19              $HOME/.taskrc
20
21       The default location can be overridden using  the  rc:  attribute  when
22       running task:
23
24              $ task rc:<directory-path>/.taskrc ...
25
26       or using the TASKRC environment variable:
27
28              $ TASKRC=/tmp/.taskrc task ...
29
30       Individual  options can be overridden by using the rc.<name>: attribute
31       when running task:
32
33              $ task rc.<name>:<value> ...
34
35       or
36
37              $ task rc.<name>=<value> ...
38
39       If Taskwarrior is run without an existing configuration  file  it  will
40       ask  if  it  should create a default, sample .taskrc file in the user's
41       home directory.
42
43       The .taskrc file follows  a  very  simple  syntax  defining  name/value
44       pairs:
45
46              <name> = <value>
47
48       There  may  be whitespace around <name>, '=' and <value>, and it is ig‐
49       nored.  Whitespace within the <value> is left  intact.   Whitespace  is
50       not  permitted in comma-separated lists.  The entry must be on a single
51       line, no continuations.  Values support UTF8 as well as JSON  encoding,
52       such as \uNNNN.
53
54       Note  that  Taskwarrior  is flexible about the values used to represent
55       Boolean items. You can use "1" to enable, anything else is  interpreted
56       as disabled.  The values "on", "yes", "y" and "true" are currently sup‐
57       ported but deprecated.
58
59              include <file>
60
61       There may be whitespace around 'include' and <file>. The file may be an
62       absolute or relative path, and the special character '~' is expanded to
63       mean $HOME.  The entry must be on a single line, no continuations.
64
65              # <comment>
66
67       A comment consists of the character '#', and extends from  the  '#'  to
68       the  end  of  the  line. There is no way to comment a multi-line block.
69       There may be blank lines.
70
71       Almost every value has a default setting, and an empty .taskrc file  is
72       one  that  makes use of every default. The contents of the .taskrc file
73       therefore represent overrides of the default values. To  remove  a  de‐
74       fault value completely there must be an entry like this:
75
76              <name> =
77
78       This entry overrides the default value with a blank value.
79
80

EDITING

82       You  can edit your .taskrc file by hand if you wish, or you can use the
83       'config' command. To permanently set a value in your .taskrc file,  use
84       this command:
85
86              $ task config nag "You have more urgent tasks."
87
88       To delete an entry, use this command:
89
90              $ task config nag
91
92       Taskwarrior  will then use the default value. To explicitly set a value
93       to blank, and therefore avoid using the default value,  use  this  com‐
94       mand:
95
96              $ task config nag ""
97
98       Taskwarrior will also display all your settings with this command:
99
100              $ task show
101
102       and  in  addition,  will  also perform a check of all the values in the
103       file, warning you of anything it finds amiss.
104
105

NESTING CONFIGURATION FILES

107       The .taskrc can include other files containing  configuration  settings
108       by using the include statement:
109
110              include <path/to/the/configuration/file/to/be/included>
111
112       By using include files you can divide your main configuration file into
113       several ones containing just the relevant configuration data like  col‐
114       ors, etc.
115
116       There are two excellent uses of includes in your .taskrc, shown here:
117
118              include /usr/share/task/holidays.en-US.rc
119              include /usr/share/task/dark-16.theme
120
121       This includes two standard files that are distributed with Taskwarrior,
122       which define a set of US holidays, and set up a 16-color theme to  use,
123       to color the reports and calendar.
124
125

ENVIRONMENT VARIABLES

127       These  environment  variables  override defaults and command line argu‐
128       ments.
129
130
131       TASKDATA=~/.task
132              This overrides the default path for the Taskwarrior data files.
133
134
135       TASKRC=~/.taskrc
136              This overrides the default RC file.
137
138

CONFIGURATION VARIABLES

140       Valid variable names and their default values are:
141
142
143   FILES
144       data.location=$HOME/.task
145              This is a path to the directory containing all  the  Taskwarrior
146              files.  By  default,  it  is  set up to be ~/.task, for example:
147              /home/paul/.task
148
149              Note that you can use the ~ shell meta character, which will  be
150              properly expanded.
151
152              Note  that the TASKDATA environment variable overrides this set‐
153              ting.
154
155
156       hooks.location=$HOME/.task/hooks
157              This is a path to the hook scripts directory. By default  it  is
158              ~/.task/hooks.
159
160
161       locking=1
162              Determines  whether to use file locking when accessing the pend‐
163              ing.data and completed.data  files.  Defaults  to  "1".  Solaris
164              users  who  store the data files on an NFS mount may need to set
165              locking to "0". Note that there is danger in setting this  value
166              to "0" - another program (or another instance of task) may write
167              to the task.pending file at the same time.
168
169
170       gc=1   Can be used to temporarily suspend garbage collection  (gc),  so
171              that task IDs don't change. Note that this should be used in the
172              form of a command line override (task rc.gc=0 ...), and not per‐
173              manently used in the .taskrc file, as this significantly affects
174              performance in the long term.
175
176
177       hooks=1
178              This master control switch enables hook script  processing.  The
179              default  value  is  '1', but certain extensions and environments
180              may need to disable hooks.
181
182
183       exit.on.missing.db=0
184              When set to '1' causes the  program  to  exit  if  the  database
185              (~/.task  or  rc.data.location or TASKDATA override) is missing.
186              Default value is '0'.
187
188
189   TERMINAL
190       detection=1
191              Determines whether to use ioctl to establish  the  size  of  the
192              window you are using, for text wrapping.
193
194
195       defaultwidth=80
196              The  width  of  output  used  when auto-detection support is not
197              available. Defaults to 80. If set to 0, it is interpreted as in‐
198              finite  width,  therefore  with no word-wrapping; this is useful
199              when redirecting report output to a  file  for  subsequent  han‐
200              dling.
201
202
203       defaultheight=24
204              The  height  of  output  used when auto-detection support is not
205              available. Defaults to 24. If set to 0, it is interpreted as in‐
206              finite  height. This is useful when redirecting charts to a file
207              for subsequent handling.
208
209
210       avoidlastcolumn=0
211              Causes the width of the terminal minus one to  be  used  as  the
212              full  width.  This avoids placing color codes in the last column
213              which can cause problems for Cygwin users. Default value is '0'.
214
215
216       hyphenate=1
217              Hyphenates lines when wrapping breaks  occur  mid-word.  Default
218              value is '1'.
219
220
221       editor=vi
222              Specifies  which  text  editor you wish to use for when the task
223              edit <ID> command is used. Taskwarrior will first look for  this
224              configuration  variable. If found, it is used. Otherwise it will
225              look for the $VISUAL or $EDITOR environment variables, before it
226              defaults to using "vi".
227
228
229       reserved.lines=1
230              This is the number of lines reserved at the bottom of the screen
231              for the shell prompt. This is only referenced when  'limit:page'
232              is used.
233
234
235   MISCELLANEOUS
236       verbose=1|0|nothing|list...
237              When  set to "1" (the default), helpful explanatory comments are
238              added to all output from Taskwarrior. Setting this to "0"  means
239              that you would see regular output.
240
241              The  special  value  "nothing"  can be used to eliminate all op‐
242              tional output, which results in only the  formatted  data  being
243              shown, with nothing else. This output is most readily parsed and
244              used by shell scripts.
245
246              Alternatively, you can specify a comma-separated  list  of  ver‐
247              bosity  tokens  that  control  specific occasions when output is
248              generated. This list may contain:
249
250                  blank      Inserts extra blank lines in output, for clarity
251                  header     Messages that appear before report  output  (this
252              includes .taskrc/.task overrides and the "[task next]" message)
253                  footnote    Messages that appear after report output (mostly
254              status messages and change descriptions)
255                  label      Column labels on tabular reports
256                  new-id     Provides feedback of any new task IDs
257                  new-uuid   Provides feedback of any new task  UUIDs.  Depre‐
258              cated, to be
259                             merged with new-id.
260                  affected   Reports 'N tasks affected' and similar
261                  edit       Used the verbose template for the 'edit' command
262                  special    Feedback when applying special tags
263                  project    Feedback about project status changes
264                  sync       Feedback about sync
265                  filter     Shows the filter used in the command
266                  unwait      Notification  when  a  task leaves the 'waiting'
267              state
268                  override   Notification when configuration options are over‐
269              ridden
270                  recur       Notification  when a new recurring task instance
271              is created
272
273              "affected", "new-id", "new-uuid",  "project",  "unwait",  "over‐
274              ride" and "recur" imply "footnote".
275
276              Note  that the "1" setting is equivalent to all the tokens being
277              specified, and the "nothing" setting is equivalent  to  none  of
278              the tokens being specified.
279
280              Here are the shortcut equivalents:
281
282                  verbose=on
283                  verbose=blank,header,footnote,label,new-id,af‐
284              fected,edit,special,project,sync,filter,unwait,override
285
286                  verbose=0
287                  verbose=blank,label,new-id,edit
288
289                  verbose=nothing
290                  verbose=
291
292              Those additional comments are sent to  the  standard  error  for
293              header,  footnote  and  project. The others are sent to standard
294              output.
295
296
297       confirmation=1
298              May be "1" or "0", and determines whether Taskwarrior  will  ask
299              for  confirmation  before deleting a task or performing the undo
300              command. The default value is "1".  Consider  leaving  this  en‐
301              abled, for safety.
302
303
304       allow.empty.filter=1
305              An  empty  filter combined with a write command is potentially a
306              way to modify all tasks by mistake, and when this  is  detected,
307              confirmation  is required.  Setting this to '0' means that it is
308              an error to use a write command with no filter.
309
310
311       indent.annotation=2
312              Controls the number of spaces to indent annotations  when  shown
313              beneath the description field. The default value is "2".
314
315
316       indent.report=0
317              Controls the indentation of the entire report output. Default is
318              "0".
319
320
321       row.padding=0
322              Controls left and right padding around each row  of  the  report
323              output. Default is "0".
324
325
326       column.padding=0
327              Controls  padding  between columns of the report output. Default
328              is "1".
329
330
331       bulk=3 Is a number, defaulting to 3. When this  number  or  greater  of
332              tasks are modified in a single command, confirmation will be re‐
333              quired, regardless of the value of  confirmation  variable.  The
334              special value bulk=0 is treated as an infinity.
335
336              This is useful for preventing large-scale unintended changes.
337
338
339       nag=You have more urgent tasks.
340              This  may be a string of text, or blank.  It is used as a prompt
341              when a task is started of completed, when there are other  tasks
342              with  a higher urgency.  Default value is: 'You have more urgent
343              tasks'.  It is a gentle reminder that you are contradicting your
344              own urgency settings.
345
346
347       list.all.projects=0
348              May be "1" or "0", and determines whether the 'projects' command
349              lists all the project names you have used, or just the ones used
350              in active tasks. The default value is "0".
351
352
353       summary.all.projects=0
354              If set to "1", shows all projects in the summary report, even if
355              there are no pending tasks.  The default value is "0".
356
357
358       complete.all.tags=1
359              May be "1" or "0", and determines  whether  the  tab  completion
360              scripts  consider  all  the tag names you have used, or just the
361              ones used in active tasks. The default value is "0".
362
363
364       list.all.tags=1
365              May be "1" or "0", and determines  whether  the  'tags'  command
366              lists  all the tag names you have used, or just the ones used in
367              active tasks. The default value is "0".
368
369
370       print.empty.columns=1
371              May be "1" or "0", and determines whether columns with  no  data
372              for any task are printed. Defaults to "0".
373
374
375       search.case.sensitive=1
376              May  be  "1"  or  "0", and determines whether keyword lookup and
377              substitutions on the description and annotations are done  in  a
378              case  sensitive way. Defaults to "1" on most platforms. Defaults
379              to "0" on Cygwin due to older regex library problems with  case-
380              insensitivity.
381
382
383       regex=1
384              Controls  whether regular expression support is enabled. The de‐
385              fault value is "1".
386
387
388       xterm.title=1
389              Sets the xterm window title when reports are  run.  Defaults  to
390              "0".
391
392
393       expressions=infix|postfix
394              Sets  a  preference for infix expressions (1 + 2) or postfix ex‐
395              pressions (1 2 +).  Defaults to infix.
396
397
398       json.array=1
399              Determines whether the export command encloses the  JSON  output
400              in  '[...]' and adds ',' after each exported task object to cre‐
401              ate a properly-formed JSON  array.   With  json.array=0,  export
402              writes  raw  JSON  objects to STDOUT, one per line.  Defaults to
403              "1".
404
405
406       json.depends.array=1
407              Determines whether the export command encodes dependencies as an
408              array  of string UUIDs, or one comma-separated string.  Defaults
409              to "1".
410
411
412       _forcecolor=1
413              Taskwarrior shuts off color automatically when the output is not
414              sent directly to a TTY. For example, this command:
415
416                     $ task list > file
417
418              will not use any color. To override this, use:
419
420                     $ task rc._forcecolor=yes list > file
421
422       Defaults to "0".
423
424
425       active.indicator=*
426              The  character or string to show in the start.active column. De‐
427              faults to *.
428
429
430       tag.indicator=+
431              The character or string to show in the tag.indicator column. De‐
432              faults to +.
433
434
435       dependency.indicator=D
436              The character or string to show in the depends.indicator column.
437              Defaults to +.
438
439
440       uda.<name>.indicator=U
441              The character or string to show in the  <uda>.indicator  column.
442              Defaults to U.
443
444
445       recurrence=1
446              Controls  whether  recurrence  is enabled, and whether recurring
447              tasks continue to generate new task instances. Defaults to "1".
448
449              If you are syncing multiple clients, then it is advised that you
450              set 'recurrence=1' on your primary client, and 'recurrence=0' on
451              ALL other clients. This is a workaround for a duplication bug.
452
453
454       recurrence.confirmation=prompt
455              Controls whether changes to recurring tasks propagates to  other
456              child tasks with or without confirmation. A value of 'yes' means
457              propagate changes without confirmation. A value of 'no' means do
458              not propagate changes and don't ask for confirmation. A value of
459              'prompt' prompts you every time. Defaults to 'prompt'.
460
461
462       recurrence.indicator=R
463              The character or string to show in the recurrence_indicator col‐
464              umn. Defaults to R.
465
466
467       recurrence.limit=1
468              The number of future recurring tasks to show. Defaults to 1. For
469              example, if a weekly recurring task is added with a due date  of
470              tomorrow,  and  recurrence.limit is set to 2, then a report will
471              list 2 pending recurring tasks, one for tomorrow, and one for  a
472              week from tomorrow.
473
474
475       undo.style=side
476              When  the  'undo'  command is run, Taskwarrior presents a before
477              and after comparison of the data. This  can  be  in  either  the
478              'side'  style, which compares values side-by-side in a table, or
479              'diff' style, which uses a format similar to the 'diff' command.
480
481
482       abbreviation.minimum=2
483              Minimum length of any abbreviated command/value. This means that
484              "ve",  "ver", "vers", "versi", "versio" will all equate to "ver‐
485              sion", but "v" will not.  Default is 2.
486
487
488       debug=0
489              Taskwarrior has a debug mode that causes diagnostic output to be
490              displayed.   Typically  this is not something anyone would want,
491              but when reporting a bug, debug output can  be  useful.  It  can
492              also  help explain how the command line is being parsed, but the
493              information is displayed in a developer-friendly,  not  a  user-
494              friendly way.
495
496              Turning   debug   on   automatically   sets  debug.hooks=1,  de‐
497              bug.parser=1 and debug.tls=2 if they do  not  already  have  as‐
498              signed values. Defaults to "0".
499
500
501       debug.hooks=0
502              Controls  the hook system diagnostic level. Level 0 means no di‐
503              agnostics.  Level 1 shows hook calls. Level 2  also  shows  exit
504              status and I/O.
505
506
507       debug.parser=0
508              Controls  the parser diagnostic level. Level 0 shows no diagnos‐
509              tics.  Level 1 shows the final parse tree.  Level  2  shows  the
510              parse  tree from all phases of the parse.  Level 3 shows expres‐
511              sion evaluation details.
512
513
514       debug.tls=0
515              Controls the GnuTLS  diagnostic  level.  For  'sync'  debugging.
516              Level 0 means no diagnostics. Level 9 is the highest. Level 2 is
517              a good setting for debugging.
518
519
520       obfuscate=1
521              When set to '1', will replace all report text with 'xxx'.   This
522              is  useful  for  sharing  report output in bug reports.  Default
523              value is '0'.
524
525
526       alias.rm=delete
527              Taskwarrior supports command aliases. This alias provides an al‐
528              ternate name (rm) for the delete command. You can use aliases to
529              provide alternate names for any of the  commands.  Several  com‐
530              mands  you  may use are actually aliases - the 'history' report,
531              for example, or 'export'.
532
533
534   DATES
535       dateformat=Y-M-D
536
537       dateformat.report=
538
539       dateformat.holiday=YMD
540
541       dateformat.edit=Y-M-D H:N:S
542
543       dateformat.info=Y-M-D H:N:S
544
545       dateformat.annotation=
546
547       report.X.dateformat=Y-M-D
548              This is a string of characters that defines how Taskwarrior for‐
549              mats  date  values.   The precedence order for the configuration
550              variable  is  report.X.dateformat  then  dateformat.report  then
551              dateformat for formatting the due dates in reports.  If both re‐
552              port.X.dateformat and dateformat.report are not set  then  date‐
553              format will be applied to the date. Entered dates as well as all
554              other displayed dates in  reports  are  formatted  according  to
555              dateformat.
556
557              The  default  value  is the ISO-8601 standard: Y-M-D. The string
558              can contain the characters:
559
560                     m  minimal-digit month,    for example 1 or 12
561                     d  minimal-digit day,      for example 1 or 30
562                     y  two-digit year,         for example 09 or 12
563                     D  two-digit day,          for example 01 or 30
564                     M  two-digit month,        for example 01 or 12
565                     Y  four-digit year,        for example 2009 or 2015
566                     a  short name of weekday,  for example Mon or Wed
567                     A  long name of weekday,   for example Monday or  Wednes‐
568                     day
569                     b  short name of month,    for example Jan or Aug
570                     B  long name of month,     for example January or August
571                     v  minimal-digit week,     for example 3 or 37
572                     V  two-digit week,         for example 03 or 37
573                     h  minimal-digit hour,     for example 3 or 21
574                     n  minimal-digit minutes,  for example 5 or 42
575                     s  minimal-digit seconds,  for example 7 or 47
576                     H  two-digit hour,         for example 03 or 21
577                     N  two-digit minutes,      for example 05 or 42
578                     S  two-digit seconds,      for example 07 or 47
579                     J  three-digit Julian day, for example 023 or 365
580                     j  Julian day,             for example 23 or 365
581                     w   Week  day,                for example 0 for Monday, 5
582                     for Friday
583
584              The characters 'v', 'V', 'a' and 'A' can only be used  for  for‐
585              matting printed dates (not to parse them).
586
587              The  string may also contain other characters to act as spacers,
588              or formatting.  Examples for other values of dateformat:
589
590                     d/m/Y  would use for input and output 24/7/2009
591                     yMD    would use for input and output 090724
592                     M-D-Y  would use for input and output 07-24-2009
593
594              Examples for other values of dateformat.report:
595
596                     a D b Y (V)   would emit "Fri 24 Jul 2009 (30)"
597                     A, B D, Y     would emit "Friday, July 24, 2009"
598                     wV a Y-M-D    would emit "w30 Fri 2009-07-24"
599                     yMD.HN        would emit "110124.2342"
600                     m/d/Y H:N     would emit "1/24/2011 10:42"
601                     a D b Y H:N:S would emit "Mon 24 Jan 2011 11:19:42"
602
603              Undefined fields are put to their minimal valid  values  (1  for
604              month and day and 0 for hour, minutes and seconds) when there is
605              at least one more global date field that is set. Otherwise, they
606              are set to the corresponding values of "now". For example:
607
608                     8/1/2013  with m/d/Y   implies August 1, 2013 at midnight
609                     (inferred)
610                     8/1 20:40 with m/d H:N implies August 1, 2013  (inferred)
611                     at 20:40
612
613
614       date.iso=1
615              Enables ISO-8601 date support.  The default value is "1".
616
617
618       weekstart=Sunday
619              Determines  the  day  a  week starts. Valid values are Sunday or
620              Monday only. The default value is "Sunday".
621
622
623       displayweeknumber=1
624              Determines if week numbers are displayed when  using  the  "task
625              calendar"  command.   The  week number is dependent on the day a
626              week starts. The default value is "1".
627
628
629       due=7  This is the number of days into the future that  define  when  a
630              task  is considered due, and is colored accordingly. The default
631              value is 7.
632
633
634       calendar.details=sparse
635              If set to "full" running "task calendar" will  display  the  de‐
636              tails  of  tasks  with due dates that fall into the calendar pe‐
637              riod. The corresponding days will be color-coded in  the  calen‐
638              dar.  If  set  to  "sparse"  only the corresponding days will be
639              color coded and no details will be displayed. The displaying  of
640              due  dates with details is turned off by setting the variable to
641              "none". The default value is "sparse".
642
643
644       calendar.details.report=list
645              The report to run when displaying the details of tasks with  due
646              dates  when  running  the  "task  calendar" command. The default
647              value is "list".
648
649
650       calendar.offset=0
651              If "1" the first month in the  calendar  report  is  effectively
652              changed  by the offset value specified in calendar.offset.value.
653              It defaults to "0".
654
655
656       calendar.offset.value=-1
657              The offset value to apply to the first month in the calendar re‐
658              port. The default value is "-1".
659
660
661       calendar.holidays=full
662              If  set to full running "task calendar" will display holidays in
663              the calendar by color-coding the corresponding days. A  detailed
664              list  with the dates and names of the holidays is also shown. If
665              set to sparse only the days are color-coded and  no  details  on
666              the  holidays  will  be displayed. The displaying of holidays is
667              turned off by setting the variable to none. The default value is
668              "none".
669
670
671       calendar.legend=1
672              Determines whether the calendar legend is displayed. The default
673              value is "1".
674
675
676   JOURNAL ENTRIES
677       journal.time=0
678              May be "1" or "0", and determines whether the 'start' and 'stop'
679              commands  should  record  an annotation when being executed. The
680              default value is "0". The text of the corresponding  annotations
681              is controlled by:
682
683
684       journal.time.start.annotation=Started task
685              The  text  of the annotation that is recorded when executing the
686              start command and having set journal.time.
687
688
689       journal.time.stop.annotation=Stopped task
690              The text of the annotation that is recorded when  executing  the
691              stop command and having set journal.time.
692
693
694       journal.info=1
695              When  enabled,  this setting causes a change log of each task to
696              be displayed by the 'info' command. Default value is "1".
697
698
699   HOLIDAYS
700       Holidays are entered either directly in the .taskrc file or via an  in‐
701       clude  file that is specified in .taskrc. For each holiday the name and
702       the date is required to be given:
703
704                     holiday.towel.name=Day of the towel
705                     holiday.towel.date=20100525
706                     holiday.sysadmin.name=System  Administrator  Appreciation
707                     Day
708                     holiday.sysadmin.date=20100730
709
710              Dates are to be entered according to the setting in the datefor‐
711              mat.holiday variable.
712
713              The following holidays are computed automatically:  Good  Friday
714              (goodfriday), Easter (easter), Easter Monday (eastermonday), As‐
715              cension (ascension), Pentecost (pentecost). The date  for  these
716              holidays is the given keyword:
717
718                     holiday.eastersunday.name=Easter
719                     holiday.eastersunday.date=easter
720
721       Note  that  the Taskwarrior distribution contains example holiday files
722       that can be included like this:
723
724                     include /usr/share/task/holidays.en-US.rc
725
726
727       monthsperline=3
728              Determines how many months the "task calendar"  command  renders
729              across  the  screen.  Defaults to however many will fit. If more
730              months than will fit are specified, Taskwarrior will  only  show
731              as many that will fit.
732
733
734   DEPENDENCIES
735       dependency.reminder=1
736              Determines  whether  dependency  chain  violations  generate re‐
737              minders.
738
739
740       dependency.confirmation=1
741              Determines whether dependency chain  repair  requires  confirma‐
742              tion.
743
744
745   COLOR CONTROLS
746       color=1
747              May  be  "1"  or "0". Determines whether Taskwarrior uses color.
748              When "0", will use dashes (-----) to underline column headings.
749
750
751       fontunderline=1
752              Determines if font underlines or ASCII dashes should be used  to
753              underline headers, even when color is enabled.
754
755       Taskwarrior has a number of coloration rules. They correspond to a par‐
756       ticular attribute of a task, such as it being due, or being active, and
757       specifies  the automatic coloring of that task. A list of valid colors,
758       depending on your terminal, can be obtained by running the command:
759
760              task colors
761
762              Note that no default values are listed here - the  defaults  now
763              correspond  to  the  dark-256.theme  (Linux)  and  dark-16.theme
764              (other) theme values.  The coloration rules are as follows:
765
766              color.due.today Task is due today
767              color.active Task is started, therefore active.
768              color.scheduled Task is scheduled, therefore ready for work.
769              color.until Task has an expiration date.
770              color.blocking Task is blocking another in a dependency.
771              color.blocked Task is blocked by a dependency.
772              color.overdue Task is overdue (due some time prior to now).
773              color.due Task is coming due.
774              color.project.none Task does not have an assigned project.
775              color.tag.none Task has no tags.
776              color.tagged Task has at least one tag.
777              color.recurring Task is recurring.
778              color.completed Task is completed.
779              color.deleted Task is deleted.
780
781              To disable a coloration rule for which there is a  default,  set
782              the value to nothing, for example:
783                     color.tagged=
784
785              By  default, colors produced by rules blend. This has the advan‐
786              tage of conveying additional information, by producing  combina‐
787              tions that are not used by any particular rule directly.
788
789              However,  color  blending  can produce highlighting combinations
790              which are not desired. In such cases, use the  following  option
791              to disable this behaviour:
792
793
794       rule.color.merge=1
795              Can be "1" or "0". When "0", disables merging of colors produced
796              by different color rules. Use if your color scheme produces  un‐
797              pleasing foreground and background combinations.
798
799              See the task-color(5) man pages for color details.
800
801       Certain  attributes like tags, projects and keywords can have their own
802       coloration rules.
803
804
805       color.tag.X=yellow
806              Colors any task that has the tag X.
807
808
809       color.project.X=on green
810              Colors any task assigned to project X.
811
812
813       color.keyword.X=on blue
814              Colors any task where the description or any annotation contains
815              X.
816
817
818       color.uda.X=on green
819              Colors any task that has the user defined attribute X.
820
821
822       color.uda.X.VALUE=on green
823              Colors  any  task  that  has the user defined attribute X set to
824              VALUE.
825
826
827       color.uda.X.none=on green
828              Colors any task that does not have the user defined attribute X.
829
830
831       color.error=white on red
832              Colors any of the error messages.
833
834
835       color.warning=bold red
836              Colors any of the warning messages.
837
838
839       color.header=green
840              Colors any of the messages printed prior to the report output.
841
842
843       color.footnote=green
844              Colors any of the messages printed last.
845
846
847       color.summary.bar=on green
848              Colors the summary progress bar. Should consist of a  background
849              color.
850
851
852       color.summary.background=on black
853              Colors  the summary progress bar. Should consist of a background
854              color.
855
856
857       color.calendar.today=black on cyan
858              Color of today in calendar.
859
860
861       color.calendar.due=black on green
862              Color of days with due tasks in calendar.
863
864
865       color.calendar.due.today=black on magenta
866              Color of today with due tasks in calendar.
867
868
869       color.calendar.overdue=black on red
870              Color of days with overdue tasks in calendar.
871
872
873       color.calendar.weekend=bright white on black
874              Color of weekend days in calendar.
875
876
877       color.calendar.holiday=black on bright yellow
878              Color of holidays in calendar.
879
880
881       color.calendar.weeknumber=black on white
882              Color of weeknumbers in calendar.
883
884
885       color.label=
886              Colors the report labels. Defaults to not use color.
887
888
889       color.label.sort=
890              Colors the report labels for sort columns. Defaults to color.la‐
891              bel.
892
893
894       color.alternate=on rgb253
895              Color  of alternate tasks.  This is to apply a specific color to
896              every other task in a report, which can make it easier  to  vis‐
897              ually  separate  tasks. This is especially useful when tasks are
898              displayed over multiple lines due to long descriptions or  anno‐
899              tations.
900
901
902       color.history.add=on red
903       color.history.done=on green
904       color.history.delete=on yellow
905              Colors  the bars on the ghistory report graphs. Defaults to red,
906              green and yellow bars.
907
908
909       color.burndown.pending=on red
910       color.burndown.started=on yellow
911       color.burndown.done=on green
912              Colors the bars on the burndown reports graphs. Defaults to red,
913              green and yellow bars.
914
915
916       color.undo.before=red
917       color.undo.after=green
918              Colors used by the undo command, to indicate the values both be‐
919              fore and after a change that is to be reverted.
920
921
922       color.sync.added=green
923       color.sync.changed=yellow
924       color.sync.rejected=red
925              Colors the output of the sync command.
926
927
928       rule.precedence.color=due.today,active,blocking,blocked,overdue,due,
929              scheduled,keyword.,project.,tag.,uda.,recurring,     tagged,com‐
930              pleted,deleted
931              This  setting  specifies the precedence of the color rules, from
932              highest to lowest. Note that the prefix 'color.' is omitted (for
933              brevity),  and that any wildcard value (color.tag.XXX) is short‐
934              ened to 'tag.', which places all specific tag rules at the  same
935              precedence, again for brevity.
936
937
938       color.debug=green
939              Colors all debug output, if enabled.
940
941
942   URGENCY
943       The  urgency  calculation uses a polynomial with several terms, each of
944       which has a configurable coefficient. Those coefficients are:
945
946
947       urgency.blocking.coefficient=8.0
948              Urgency coefficient for blocking tasks
949       urgency.blocked.coefficient=-5.0
950              Urgency coefficient for blocked tasks
951       urgency.due.coefficient=12.0
952              Urgency coefficient for due dates
953       urgency.waiting.coefficient=-3.0
954              Urgency coefficient for waiting status
955       urgency.active.coefficient=4.0
956              Urgency coefficient for active tasks
957       urgency.scheduled.coefficient=5.0
958              Urgency coefficient for scheduled tasks
959       urgency.project.coefficient=1.0
960              Urgency coefficient for projects
961       urgency.tags.coefficient=1.0
962              Urgency coefficient for tags
963       urgency.annotations.coefficient=1.0
964              Urgency coefficient for annotations
965       urgency.age.coefficient=2.0
966              Urgency coefficient for the age of tasks
967       urgency.age.max=365
968              Maximum age in days. After this number of days has elapsed,  the
969              urgency of a task won't increase any more because of aging.
970       urgency.user.tag.<tag>.coefficient=...
971              Specific tag coefficient.
972       urgency.user.tag.next.coefficient=15.0
973              Urgency coefficient for tag 'next'.
974       urgency.user.project.<project>.coefficient=...
975              Specific project coefficient.
976       urgency.user.keyword.<keyword>.coefficient=...
977              Specific description keyword coefficient.
978       urgency.uda.<name>.coefficient=...
979              Presence/absence of UDA data.
980       urgency.uda.<name>.<value>.coefficient=...
981              Specific value of UDA data.
982
983       The  coefficients  reflect the relative importance of the various terms
984       in the urgency calculation. These are default values, and may be  modi‐
985       fied  to  suit your preferences, but it is important that you carefully
986       consider any modifications.
987
988       urgency.inherit=0
989              Not actually a coefficient. When enabled, blocking tasks inherit
990              the highest urgency value found in the tasks they block. This is
991              done recursively.  It is recommended to set urgency.blocking.co‐
992              efficient  and  urgency.blocked.coefficient  to 0.0 in order for
993              this setting to be the most useful.
994
995
996   DEFAULTS
997       default.project=foo
998              Provides a default project name for the task add command, if you
999              don't specify one. The default is blank.
1000
1001
1002       default.due=...
1003              Provides  a  default  due  date for the task add command, if you
1004              don't specify one. You can use a date, or a duration value which
1005              is assumed to be relative to 'now'. The default is blank.
1006
1007
1008       default.scheduled=...
1009              Provides  a  default scheduled date for the task add command, if
1010              you don't specify one. You can use a date, or a  duration  value
1011              which is assumed to be relative to 'now'. The default is blank.
1012
1013
1014       uda.<name>.default=...
1015              Provides  default  values for UDA fields when using the task add
1016              command, if you don't specify values. The default is blank.
1017
1018
1019       default.command=next
1020              Provides a default command that is run every time Taskwarrior is
1021              invoked with no arguments. For example, if set to:
1022
1023                     default.command=project:foo list
1024
1025              then  Taskwarrior  will run the "project:foo list" command if no
1026              command is specified. This means that by merely typing
1027
1028                     $ task
1029                     [task project:foo list]
1030
1031                     ID Project Pri Description
1032                      1 foo     H   Design foo
1033                      2 foo         Build foo
1034
1035
1036   REPORTS
1037       The reports can be customized  by  using  the  following  configuration
1038       variables.   The output columns, their labels and the sort order can be
1039       set using the corresponding variables for each report. Each report name
1040       is used as a "command" name. For example
1041
1042
1043       task overdue
1044
1045
1046       report.X.description
1047              The  description  for report X when running the "task help" com‐
1048              mand.
1049
1050
1051       report.X.columns
1052              This is a comma-separated list of columns and formatting  speci‐
1053              fiers. See the command 'task columns' for a full list of options
1054              and examples.
1055
1056
1057       report.X.labels
1058              The labels for each column that will be used when generating re‐
1059              port X. The labels are a comma separated list.
1060
1061
1062       report.X.sort
1063              The  sort order of the tasks in the generated report X. The sort
1064              order is specified by using the column ids post-fixed by  a  "+"
1065              for ascending sort order or a "-" for descending sort order. The
1066              sort IDs are separated by commas.  For example:
1067
1068                  report.list.sort=due+,priority-,start.active-,project+
1069
1070              Additionally, after the "+" or "-", there can be a  solidus  "/"
1071              which  indicates  that  there are breaks after the column values
1072              change. For example:
1073
1074                  report.minimal.sort=project+/,description+
1075
1076              This sort order now specifies that there is a listing break  be‐
1077              tween  each  project.  A  listing  break is simply a blank line,
1078              which provides a visual grouping.
1079
1080              A special sort value of "none" indicates that no sorting is  re‐
1081              quired,  and  tasks  will  be presented in the order (if any) in
1082              which they are selected.
1083
1084
1085       report.X.filter
1086              This adds a filter to the report X so that only  tasks  matching
1087              the filter criteria are displayed in the generated report.
1088
1089              There is a special case for 'report.timesheet.filter', which may
1090              be specified even though the 'timesheet' report is not very cus‐
1091              tomizable.
1092
1093
1094       report.X.dateformat
1095              This  adds a dateformat to the report X that will be used by the
1096              "due date" column. If it is not set then  dateformat.report  and
1097              dateformat will be used in this order. See the DATES section for
1098              details on the sequence placeholders.
1099
1100
1101       report.X.annotations
1102              This adds the possibility to control the output  of  annotations
1103              for  a  task in a report. Deprecated. Use the description column
1104              with a format (e.g., description.count) instead.
1105
1106
1107       Taskwarrior comes with a number of predefined reports, which are:
1108
1109
1110       next   Lists the most important tasks.
1111
1112
1113       long   Lists all pending tasks and all  data,  matching  the  specified
1114              criteria.
1115
1116
1117       list   Lists all tasks matching the specified criteria.
1118
1119
1120       ls     Short listing of all tasks matching the specified criteria.
1121
1122
1123       minimal
1124              Minimal listing of all tasks matching the specified criteria.
1125
1126
1127       newest Shows the newest tasks.
1128
1129
1130       oldest Shows the oldest tasks.
1131
1132
1133       overdue
1134              Lists overdue tasks matching the specified criteria.
1135
1136
1137       active Lists active tasks matching the specified criteria.
1138
1139
1140       completed
1141              Lists completed tasks matching the specified criteria.
1142
1143
1144       recurring
1145              Lists recurring tasks matching the specified criteria.
1146
1147
1148       waiting
1149              Lists all waiting tasks matching the specified criteria.
1150
1151
1152       all    Lists all tasks matching the specified criteria.
1153
1154
1155       blocked
1156              Lists all tasks that have dependencies.
1157
1158
1159   USER DEFINED ATTRIBUTES
1160       User  defined  attributes (UDAs) are an extension mechanism that allows
1161       you to define new attributes for Taskwarrior to store and display.  One
1162       such  example  is  an  'estimate' attribute that could be used to store
1163       time estimates associated with a task. This 'estimate' attribute is not
1164       built  in  to Taskwarrior, but with a few simple configuration settings
1165       you can instruct Taskwarrior to store this item, and provide access  to
1166       it for custom reports and filters.
1167
1168       This allows you to augment Taskwarrior to accommodate your workflow, or
1169       bend the rules and use Taskwarrior to store and synch data that is  not
1170       necessarily task-related.
1171
1172       One  important  restriction is that because this is an open system that
1173       allows the definition of any new attribute, Taskwarrior  cannot  under‐
1174       stand  the  meaning of that attribute. So while Taskwarrior will faith‐
1175       fully store, modify, report, sort and filter your UDA, it does not  un‐
1176       derstand  anything about it. For example if you define a UDA named 'es‐
1177       timate', Taskwarrior will not know that this  value  is  weeks,  hours,
1178       minutes, money, or some other resource count.
1179
1180
1181       uda.<name>.type=string|numeric|date|duration
1182              Defines a UDA called '<name>', of the specified type.
1183
1184
1185       uda.<name>.label=<column heading>
1186              Provides a default report label for the UDA called '<name>'.
1187
1188
1189       uda.<name>.values=A,B,C
1190              For  type  'string'  UDAs  only, this provides a comma-separated
1191              list of acceptable values. In this example, the '<name>' UDA may
1192              only  contain  values  'A', 'B', or 'C', but may also contain no
1193              value.
1194
1195              Note that the order of the value is important, and  denotes  the
1196              sort order from highest ('A') to lowest ('C').
1197
1198              Note that a blank value is permitted.
1199
1200
1201       uda.<name>.default=...
1202              Provides a default value for the UDA called '<name>'.
1203
1204
1205       Example 'estimate' UDA
1206              This example shows an 'estimate' UDA that stores specific values
1207              for the size of a task.  Note the blank value after 'trivial'.
1208
1209              uda.estimate.type=string
1210              uda.estimate.label=Size Estimate
1211              uda.estimate.values=huge,large,medium,small,trivial,
1212
1213              Note that the value are sorted
1214
1215                  huge > large > medium > small > trivial > ''
1216
1217
1218   CONTEXT
1219       Context setting is a mechanism which allows the user to set a permanent
1220       filter,  thus  avoiding the need to specify one filter repeatedly. More
1221       details on usage can be found in the task(1) man page.
1222
1223       The current context is stored in the .taskrc file, along  with  defini‐
1224       tions for all user provided contexts.
1225
1226
1227       context=<name>
1228              Stores the value of the currently active context.
1229
1230
1231       context.<name>=<filter>
1232              Stores the definition of the context with the name <name>.
1233
1234
1235   SYNC
1236       These  configuration  settings  are used to connect and sync tasks with
1237       the task server.
1238
1239
1240       taskd.server=<host>:<port>
1241              Specifies the hostname and port of the Taskserver. Hostname  may
1242              be an IPv4 or IPv6 address, or domain. Port is an integer.
1243
1244
1245       taskd.credentials=<organization>/<user>/<key>
1246              User identification for the Taskserver, which includes a private
1247              key.
1248
1249
1250       taskd.certificate=<path>
1251              Specifies the path to the client certificate used for  identifi‐
1252              cation with the Taskserver.
1253
1254
1255       taskd.key=<path>
1256              Specifies the path to the client key used for encrypted communi‐
1257              cation with the Taskserver.
1258
1259
1260       taskd.ca=<path>
1261              Specifies the path to the CA certificate in the event that  your
1262              Taskserver is using a self-signed certificate. Optional.
1263
1264
1265       taskd.trust=strict|ignore hostname|allow all
1266              This settings allows you to override the trust level when server
1267              certificates are validated. With "allow all",  the  server  cer‐
1268              tificate  is  trusted automatically. With "ignore hostname", the
1269              server certificate is verified but the hostname is ignored. With
1270              "strict",  the  server  certificate  is  verified.   Default  is
1271              "strict", which requires full validation.
1272
1273
1274       taskd.ciphers=NORMAL
1275              Override of the cipher selection. The set of ciphers used by TLS
1276              may  be controlled by both server and client. There must be some
1277              overlap between client and server supported ciphers, or communi‐
1278              cation cannot occur.  Default is "NORMAL". See GnuTLS documenta‐
1279              tion for full details.
1280
1281

CREDITS & COPYRIGHTS

1283       Copyright (C) 2006 - 2021 P. Beckingham, F. Hernandez.
1284
1285       This man page was originally written by Federico Hernandez.
1286
1287       Taskwarrior is distributed under the MIT license. See https://www.open
1288       source.org/licenses/mit-license.php for more information.
1289
1290

SEE ALSO

1292       task(1), task-color(5), task-sync(5)
1293
1294       For more information regarding Taskwarrior, see the following:
1295
1296
1297       The official site at
1298              <https://taskwarrior.org>
1299
1300
1301       The official code repository at
1302              <https://github.com/GothenburgBitFactory/taskwarrior>
1303
1304
1305       You can contact the project by emailing
1306              <support@GothenburgBitFactory.org>
1307
1308

REPORTING BUGS

1310       Bugs in Taskwarrior may be reported to the issue-tracker at
1311              <https://github.com/GothenburgBitFactory/taskwarrior/issues>
1312
1313
1314
1315task 2.5.3                        2016-02-24                         taskrc(5)
Impressum