Man Linux: Main Page and Category List


       taskrc - Configuration file for the task(1) command


       task rc:<directory-path>/.taskrc


       task  obtains  its configuration data from a file called .taskrc . This
       file is normally located in the user's home directory:


       The default location can be overridden using  the  rc:  attribute  when
       running task:

              $ task rc:<directory-path>/.taskrc

       Individual  option  can be overridden by using the rc.<name>: attribute
       when running task:

              $ task rc.<name>:<value> ...

       If task is run without an existing configuration file it will ask if it
       should  create  a  default,  sample  .taskrc  file  in  the user's home

       The task configuration file consists of a series  of  "assignments"  in
       each line.  The "assignments" have the syntax:



                     is one of the variables described below

                     is the value the variable is to be set to.

       and  set  a  configuration  variable to a certain value. The equal sign
       ("=") is used to separate the variable name from the value to be set.

       The hash mark, or pound sign ("#") is used as a "comment" character. It
       can  be  used  to  annotate  the configuration file. All text after the
       character to the end of the line is ignored.

       Note that task is flexible about the values used to  represent  Boolean
       items.  You can use "on", "yes", "y", "1", "true", "t", "+", "enabled".
       Anything else means "off".


       You can edit your .taskrc file by hand if you wish, or you can use  the
       'config' command.  To permanently set a value in your .taskrc file, use
       this command:

              $ task config nag "You have higher priority tasks!"

       To delete an entry, use this command:

              $ task config nag

       Task will then use the default value.  To explicitly  set  a  value  to
       blank, and therefore avoid using the default value, use this command:

              $ task config nag ""

       Task will also display all your settings with this command:

              $ task config

       and  in  addition,  will  also perform a check of all the values in the
       file, warning you of anything it finds amiss.


       The .taskrc can include other files containing  configuration  settings
       by using the include statement:

              include <path/to/the/configuration/file/to/be/included>

       By using include files you can divide your main configuration file into
       several ones containing  just  the  relevant  configuration  data  like
       colors, etc.

       There are two excellent uses of includes in your .taskrc, shown here:

              include /usr/local/share/doc/task/rc/holidays-US.rc
              include /usr/local/share/doc/task/rc/dark-16.theme

       This  includes two standard files that are distributed with task, which
       define a set of US holidays, and set up a 16-color theme  for  task  to
       use, to color the reports and calendar.


       Valid variable names and their default values are:

              This  is  a path to the directory containing all the task files.
              By  default,  it  is  set  up  to  be  ~/.task,   for   example:

              Note  that you can use the ~ shell meta character, which will be
              properly expanded.

              Determines whether task uses file  locking  when  accessing  the
       and  files.   Defaults  to  "on".
              Solaris users who store the task data files on an NFS mount  may
              need  to  set  locking  to  "off".  Note that there is danger in
              setting this value  to  "off"  -  another  program  (or  another
              instance of task) may write to the task.pending file at the same

              Determines whether task uses ncurses to establish  the  size  of
              the window you are using, for text wrapping.

              The  width of tables used when ncurses support is not available.
              Defaults to 80.

              Specifies which text editor you wish to use for  when  the  task
              edit  <ID>  command  is  used.  Task  will  first  look for this
              configuration variable. If found, it is  used.   Otherwise  task
              will  look  for  the  $VISUAL  or $EDITOR environment variables,
              before it defaults to using "vi".

              The locale is a combination of ISO 639-1 language code  and  ISO
              3166  country  code.   If not specified, task will assume en-US.
              If specified, task will locate the  correct  file  of  localized
              strings  and  proceed.   It  is an error to specify a locale for
              which there is no strings file.

              May be "yes" or "no", and determines whether task will  ask  for
              confirmation  before deleting a task or doing bulk changes.  The
              default value is "yes".

              May be "yes" or "no", and causes task  to  display  the  ID  and
              description  of  any task when you run the start, stop, do, undo
              or delete commands. The default value is "yes".


              Controls the display of annotations in reports. Defaults to full
              -  all  annotations are displayed. Set to "sparse" only the last
              (newest) annotation is displayed and if there are more than  one
              present  for  a task a "+" sign is added to the description. Set
              to "none" the output of annotations is disabled and a  "+"  sign
              will be added if there are any annotations present.  The default
              value is "full".

       next=2 Is a number, defaulting to 2, which is the number of  tasks  for
              each project that are shown in the task next command.

       bulk=2 Is  a  number,  defaulting  to 2.  When more than this number of
              tasks are modified in a single  command,  confirmation  will  be
              required, unless the confirmation variable is "no".

              This is useful for preventing large-scale unintended changes.

       nag=You have higher priority tasks.
              This  may  be a string of text, or blank. It is used as a prompt
              when a task is started or completed that is not considered  high
              priority.  The  "task  next"  command lists important tasks, and
              completing one of those does not generate this nagging.  Default
              value  is:  You  have  higher  priority  tasks.   It is a gentle
              reminder that you are contradicting your own priority  settings.

              May  be  yes  or  no,  and determines whether the tab completion
              scripts consider all the project names you have  used,  or  just
              the ones used in active tasks.  The default value is "no".

              May  be  yes  or  no,  and determines whether 'projects' command
              lists all the project names you have used, or just the ones used
              in active tasks.  The default value is "no".

              May  be  yes  or  no,  and determines whether the tab completion
              scripts consider all the tag names you have used,  or  just  the
              ones used in active tasks.  The default value is "no".

              May  be  yes  or  no,  and determines whether the 'tags' command
              lists all the tag names you have used, or just the ones used  in
              active tasks.  The default value is "no".
              May  be  yes  or  no,  and determines whether keyword lookup and
              substitutions on the description and annotations are done  in  a
              case sensitive way.  Defaults to yes.

              Task  shuts  off color automatically when the output is not sent
              directly to a a TTY.  For example, this command:

                     $ task list > file

              will not use any color.  To override this, use:

                     $ task rc._forcecolor=yes list > file

              Turning this value off causes task to generate a more vertically
              compact output.

              The  task  shell  command  uses this value as a prompt.  You can
              change it to any string you like.

              The character or string to show in the active column.   Defaults
              to *.

              The  character  or  string  to show in the tag_indicator column.
              Defaults to +.

              The character or string  to  show  in  the  recurrence_indicator
              column.  Defaults to R.

              The  number  of  future recurring tasks to show.  Defaults to 1.
              For example, if a weekly recurring task is added with a due date
              of  tomorrow,  and  recurrence.limit  is set to 2, then a report
              will list 2 pending recurring tasks, one for tomorrow,  and  one
              for a week from tomorrow.
              When the 'undo' command is run, task presents a before and after
              comparison of the data.  This can be in either the 'side' style,
              which  compares values side-by-side in a table, or 'diff' style,
              which uses a format similar to the 'diff' command.

              Task has a debug  mode  that  causes  diagnostic  output  to  be
              displayed.   Typically  this is not something anyone would want,
              but when reporting a bug, debug output can be  useful.   It  can
              also  help explain how the command line is being parsed, but the
              information is displayed in a developer-friendly,  not  a  user-
              friendly way.

              Task supports command aliases.  This alias provides an alternate
              name (rm) for the  delete  command.   You  can  use  aliases  to
              provide  alternate  names  for  any of task's commands.  Several
              commands you may use  are  actually  aliases  -  'history',  for
              example, or 'export'.



              This is a string of characters that define how task formats date
              values. The precedence order for the configuration  variable  is
              report.X.dateformat   then   reportdateformat  then  dateformat.
              While report.X.dateformat only formats the due date in  reports,
              reportdateformat  formats the due date both in reports and "task
              info".  If both of these are not set  then  dateformat  will  be
              applied  to  the  due  date.  Entered dates as well as all other
              displayed  dates  in  reports   are   formatted   according   to

              The  default  value  is:  m/d/Y.   The string should contain the

                     m  minimal-digit month,   for example 1 or 12
                     d  minimal-digit day,     for example 1 or 30
                     y  two-digit year,        for example 09
                     D  two-digit day,         for example 01 or 30
                     M  two-digit month,       for example 01 or 12
                     Y  four-digit year,       for example 2009
                     a  short name of weekday, for example Mon or Wed
                     A  long name of weekday,  for example Monday or Wednesday
                     b  short name of month,   for example Jan or Aug
                     B  long name of month,    for example January or August
                     V  weeknumber,            for example 03 or 37
                     H  two-digit hour,        for example 03 or 11
                     N  two-digit minutes,     for example 05 or 42
                     S  two-digit seconds,     for example 07 or 47

              The  string may also contain other characters to act as spacers,
              or formatting.  Examples for other values of dateformat:

                     d/m/Y  would use for input and output 24/7/2009
                     yMD    would use for input and output 090724
                     M-D-Y  would use for input and output 07-24-2009

              Examples for other values of reportdateformat:

                     a D b Y (V)  would do an output as "Fri 24 Jul 2009 (30)"
                     A,  B  D,  Y     would  do an output as "Friday, July 24,
                     vV a Y-M-D   would do an output as "v30 Fri 2009-07.24"

              Determines the day a week starts. Valid  values  are  Sunday  or
              Monday only. The default value is "Sunday".

              Determines  if  week  numbers are displayed when using the "task
              calendar" command.  The week number is dependent on  the  day  a
              week starts.  The default value is "yes".

       due=7  This  is  the  number of days into the future that define when a
              task is considered due, and is colored accordingly.  The default
              value is 7.

              If  set to full running "task calendar" will display the details
              of tasks with due dates that fall into the calendar period.  The
              corresponding  days will be color-coded in the calendar.  If set
              to sparse only the corresponding days will be color coded and no
              details  will  be  displayed.   The displaying of due dates with
              details is turned off by setting  the  variable  to  none.   The
              default value is "sparse".
              The  report to run when displaying the details of tasks with due
              date when running the  "task  calendar"  command.   The  default
              value is "list".

              If  set to full running "task calendar" will display holidays in
              the calendar by color-coding the corresponding days.  A detailed
              list with the dates and names of the holidays is also shown.  If
              set to sparse only the days are color-coded and  no  details  on
              the  holidays  will  be displayed. The displaying of holidays is
              turned off by setting the variable to none.  The  default  value
              is "none".

              Holidays  are entered either directly in the .taskrc file or via
              an include file that is specified in .taskrc.  For each  holiday
              the name and the date is required to be given:

            of the towel
             Administrator  Appreciation

              Dates are  to  be  entered  according  to  the  setting  in  the

              The  following  holidays are computed automatically: Good Friday
              (goodfriday), Easter  (easter),  Easter  monday  (eastermonday),
              Ascension (ascension), Pentecost (pentecost). The date for these
              holidays is the given keyword:


       Note that the task distribution contains example holiday files that can
       be included like this:

                     include /usr/local/share/doc/task/rc/holidays-US.rc

              Determines  how  many months the "task calendar" command renders
              across the screen.  Defaults to however many will fit.  If  more
              months  than will fit are specified, task will only show as many
              that will fit.

              May be "on" or "off". Determines whether task uses  color.  When
              "off",   task  will  use  dashes  (-----)  to  underline  column

              Determines if font underlines or ASCII dashes should be used  to
              underline headers, even when color is enabled.

       Task has a number of coloration rules.  They correspond to a particular
       attribute of a task, such  as  it  being  due,  or  being  active,  and
       specifies the automatic coloring of that task.  A list of valid colors,
       depending on your terminal, can be obtained by running the command:

              task color

              The coloration rules and their defaults are:

              color.overdue=bold red The color for overdue tasks.
     magenta The color of tasks due today.
              color.due=bold yellow The color of due tasks.
              color.pri.H=bold The color of priority:H tasks.
              color.pri.M=on yellow The color of priority:M tasks.  No default
              color.pri.L=on  green The color of priority:L tasks.  No default
              color.pri.none=white on blue The color of priority:  tasks.   No
              default value.
     cyan The color of active tasks.
              color.tagged=yellow The color of tagged tasks.
              color.recurring=on red The color for recurring tasks.

              To  disable  a coloration rule for which there is a default, set
              the value to nothing, for example:

       See the task-color(5) man pages for color details.

       Certain attributes like tags, projects and keywords can have their  own
       coloration rules.

              Colors any task that has the tag X.

       color.project.X=on green
              Colors any task assigned to project X.

       color.keyword.X=on blue
              Colors any task where the description or any annotation contains

              Colors any of the messages printed prior to the report output.

              Colors any of the messages printed last. green
              Colors the summary progress bar.  Should consist of a background

       color.summary.background=on black
              Colors the summary progress bar.  Should consist of a background
              color. on cyan
              Color of today in calendar.

       color.calendar.due=black on green
              Color of days with due tasks in calendar. on magenta
              Color of today with due tasks in calendar.

       color.calendar.overdue=black on red
              Color of days with overdue tasks in calendar.

       color.calendar.weekend=bright white on black
              Color of weekend days in calendar. on bright yellow
              Color of holidays in calendar.

       color.calendar.weeknumber=black on white
              Color of weeknumbers in calendar.

       color.alternate=on rgb253
              Color of alternate tasks.  This is to apply a specific color  to
              every  other  task  in  a  report,  which  can make it easier to
              visually separate tasks.  This is especially useful  when  tasks
              are  displayed  over  multiple lines due to long descriptions or

       color.history.add=on red
       color.history.done=on green
       color.history.delete=on yellow
              Colors the bars on the ghistory report graphs.  Defaults to red,
              green and yellow bars.

              Colors  used  by  the  undo command, to indicate the values both
              before and after a change that is to be reverted.

              If specified, designates a file path that will be  automatically
              written  to  by  task,  whenever  the task database changes.  In
              other  words,  it  is  automatically  kept  up  to  date.    The
              shadow.command configuration variable is used to determine which
              report is written to the shadow file.  There is no color used in
              the  shadow  file.  This  feature can be useful in maintaining a
              current file  for  use  by  programs  like  GeekTool,  Conky  or

              This  is  the  command  that is run to maintain the shadow file,
              determined by the shadow.file configuration variable. The format
              is  identical  to  that  of  default.command  .  Please  see the
              corresponding documentation for that command.

              When this value is set to "on",  task  will  display  a  message
              whenever the shadow file is updated by some task command.

              Provides a default project name for the task add command, if you
              don't specify one.  The default is blank.

              Provides a default priority for the task  add  command,  if  you
              don't specify one.  The default is blank.

              Provides  a  default  command  that  is  run  every time task is
              invoked with no arguments.  For example, if set to:

                     default.command=list project:foo

              then task will run the "list project:foo" command if no  command
              is specified.  This means that by merely typing

                     $ task
                     [task list project:foo]

                     ID Project Pri Description
                      1 foo     H   Design foo
                      2 foo         Build foo

       The  reports  can  be  customized  by using the following configuration
       variables.  The output columns, their labels and the sort order can  be
       set using the corresponding variables for each report. Each report name
       is used as a "command" name. For example

       task overdue

              The description for  report  X  when  running  the  "task  help"

              The  columns  that  will  be  used when generating the report X.
              Valid columns are: id, uuid, project,  priority,  entry,  start,
              due,  recur,  recur_indicator,  age,  age_compact, active, tags,
              tag_indicator,   description,    description_only,    countdown,
              countdown_compact.  The IDs are separated by commas.

              The  labels  for  each  column that will be used when generating
              report X. The labels are a comma separated list.

              The sort order of the tasks in the generated report X. The  sort
              order  is  specified by using the column ids post-fixed by a "+"
              for ascending sort order or a "-" for descending sort order. The
              sort IDs are separated by commas

              This  adds  a filter to the report X so that only tasks matching
              the filter criteria are displayed in the generated report.

              This adds a dateformat to the report X that will be used by  the
              "due  date"  column.  If it is not set then reportdateformat and
              dateformat will be used in this order. See the DATES section for
              details on the sequence placeholders.

              This  adds  the possibility to control the output of annotations
              for a task in a report. See the annotations variable for details
              on the possible values.

              An  optional  value to a report limiting the number of displayed
              tasks in the generated report.

       Task  comes  with  a  number  of  predefined  reports  in  its  default
              file. These reports are:

       long   Lists all task, all data, matching the specified criteria.

       list   Lists all tasks matching the specified criteria.

       ls     Short listing of all tasks matching the specified criteria.

              Minimal listing of all tasks matching the specified criteria.

       newest Shows the newest tasks.

       oldest Shows the oldest tasks.

              Lists overdue tasks matching the specified criteria.

       active Lists active tasks matching the specified criteria.

              Lists completed tasks matching the specified criteria.

              Lists recurring tasks matching the specified criteria.

              Lists all waiting tasks matching the specified criteria.

       all    Lists all tasks matching the specified criteria.

       next   Lists all tasks with upcoming due dates matching  the  specified


       task was written by P. Beckingham <>.
       Copyright (C) 2006 - 2010 P. Beckingham

       This man page was originally written by Federico Hernandez.

       task  is  distributed  under  the  GNU  General  Public  License.   See for more information.


       task(1), task-tutorial(5), task-faq(5) task-color(5)

       For more information regarding task, the following may be referenced:

       The official site at

       The official code repository at

       You can contact the project by writing an email to


       Bugs in task may be reported to the issue-tracker at