Tod Usage Configuration  GitHub

Configuration

Location

Data is stored at $XDG_CONFIG_HOME/tod.cfg. This defaults to:

Platform Location
Linux ~/.config/tod.cfg
Mac ~/Library/Application Support/tod.cfg
Windows %APPDATA%\tod.cfg on Windows, which expands to C:\Users\username\AppData\Roaming\tod.cfg on most systems

Example

Configuration is stored in JSON format

{
  "bell_on_failure": true,
  "bell_on_success": false,
  "disable_links": false,
  "last_version_check": "2024-06-19",
  "timezone": "Canada/Pacific",
  "verbose": false
   ...and many more
}

Values

Name Type Default Value Possible Values Description
bell_on_failure boolean true true or false Triggers the terminal bell on an error
bell_on_success boolean false true or false Triggers the terminal bell on successful completion of a command
disable_links boolean false true or false If true, disables OSC8 linking and just displays plain text
last_version_check nullable string null null or a string in format YYYY-MM-DD Holds a string date, i.e. `"2023-08-30"` representing the last time crates.io was checked for the latest `tod` version. Tod will check crates.io a maximum of once per day.
natural_language_only boolean null null, true, or false If true, the datetime selection in `project schedule` will go straight to natural language input.
next_id nullable string null null or any positive integer in string form When `task next` is executed the ID is stored in this field. When `task complete` is run the field is set back to `null`
no_sections boolean null null, true, or false If true, will not prompt for a section whenever possible.
path boolean $XDG_CONFIG_HOME/tod.cfg any path Location of the tod configuration file
sort_value object { "no_due_date": 80, "not_recurring": 50, "now": 200, "overdue": 150, "priority_high": 4, "priority_low": 1, "priority_medium": 3, "priority_none": 2, "today": 100 }, see default value Tasks are valued as the sum of the categories that apply.
sort_value.no_due_date integer 80 any non-negative integer Adds the value to task when sorting if the task has no due date or time on it.
sort_value.no_due_date integer 80 any non-negative integer Adds the value to task when sorting if the task has no due date or time on it.
sort_value.not_recurring integer 50 any non-negative integer Adds the value to task when sorting if the task is not recurring.
sort_value.now integer 200 any non-negative integer Adds the value to task when sorting if the task is scheduled within the next or last 15 minutes.
sort_value.overdue integer 150 any non-negative integer Adds the value to task when sorting if the task has a due date in the past.
sort_value.priority_high integer 4 any non-negative integer Adds the value to task when sorting if the task has a high priority.
sort_value.priority_low integer 1 any non-negative integer Adds the value to task when sorting if the task has a low priority.
sort_value.priority_medium integer 3 any non-negative integer Adds the value to task when sorting if the task has a medium priority priority.
sort_value.priority_none integer 2 any non-negative integer Adds the value to task when sorting if the task has no priority.
sort_value.today integer 100 any non-negative integer Adds the value to task when sorting if the task is scheduled today but does not have a time.
spinners boolean null null, true, or false Controls whether the spinner is displayed when an API call occurs. Useful for cases where the terminal output is captured. `null` is considered the same as `true`. You can also use the environment variable DISABLE_SPINNER to turn them off, i.e. `DISABLE_SPINNER=1 tod task create`
timeout integer 30 (seconds) any positive integer in seconds Time before an HTTP request is cancelled
timezone boolean No default Any timezone string i.e. "Canada/Pacific" You will be prompted for a timezone on first run. This is used in cases where the API does not specify the timezone explicitly.
token boolean No default Any valid Todoist API token You will be prompted for your [Todoist API token](https://todoist.com/prefs/integrations) on first run
vecprojects Nullable array of objects null null or a list of project objects Projects are stored locally in config to help save on API requests and speed up actions taken. Manage this with the `project` subcommands. The strange naming is because `projects` was used in previous versions of `tod`
verbose boolean null null, true, or false Outputs additional information in console to assist with debugging