Configuration File Reference
jrnl stores its information in a YAML configuration file.
Backup your journal and config file before editing. Changes to the config file can have destructive effects on your journal!
You can find your configuration file location by running:
By default, the configuration file is
If you have the
XDG_CONFIG_HOME variable set, the configuration
file will be saved as
On Windows, the configuration file is typically found at
The configuration file is a YAML file and can be edited with a text editor.
Describes each journal used by
jrnl. Each indented key after this key is
the name of a journal.
If a journal key has a value, that value will be interpreted as the path
to the journal. Otherwise, the journal needs the additional indented key
journal to specify its path.
All keys below can be specified for each journal at the same level as the
journal key. If a key conflicts with a top-level key, the journal-specific
key will be used instead.
If set, executes this command to launch an external editor for
writing and editing your entries. The path to a temporary file
is passed after it, and
jrnl processes the file once
the editor is closed.
Some editors require special options to work properly. See External Editors for details.
true, encrypts your journal using AES. Do not change this
value for journals that already have data in them.
The path to a text file to use as a template for new entries. Only works when you
editor field configured.
Symbols to be interpreted as tags.
Although it seems intuitive to use the
character for tags, there's a drawback: on most shells, this is
interpreted as a meta-character starting a comment. This means that if
jrnl Implemented endless scrolling on the #frontend of our website.
your bash will chop off everything after the
# before passing it to
jrnl. To avoid this, wrap your input into quotation marks like
jrnl "Implemented endless scrolling on the #frontend of our website."
Or use the built-in prompt or an external editor to compose your entries.
default_hour and default_minute
Entries will be created at this time if you supply a date but no specific time (for example,
Defines how to format the timestamps as they are stored in your journal. See the python docs for reference.
Do not change this for an existing journal, since that might lead to data loss.
If you would just like to change how
jrnl displays dates,
use display_format instead.
jrnl doesn't support the
%Z time zone identifiers.
true, tags will be highlighted in cyan.
Controls the width of the output. Set to
false if you don't want to
wrap long lines. Set to
auto to let
jrnl automatically determine
the terminal width.
A dictionary that controls the colors used to display journal entries.
It has four subkeys, which are:
Current valid values are:
colorama.Fore is used for colorization, and you can find the docs here.
To disable colored output, set the value to
Specifies formatter to use by default. See formats.
jrnl automatically updates this field to the version that it is running.
There is no need to change this field manually.