Skip to main content

Configuration

Configuration is stored in ~/.config/matcha/config.json.

Example Configuration

Passwords have been removed since v0.19.0

{
"accounts": [
{
"id": "unique-id-1",
"name": "John Doe",
"email": "john@gmail.com",
"service_provider": "gmail",
"fetch_email": "john@gmail.com"
"smime_cert": "/home/jane/.certs/jane_smime_cert.pem",
"smime_key": "/home/jane/.certs/jane_smime_private.pem"
},
{
"id": "unique-id-2",
"name": "Work Email",
"email": "john@company.com",
"service_provider": "custom",
"fetch_email": "john@company.com",
"imap_server": "imap.company.com",
"imap_port": 993,
"smtp_server": "smtp.company.com",
"smtp_port": 587
}
],
"mailing_lists": [
{
"name": "Team",
"addresses": ["alice@example.com", "bob@example.com"]
}
],
"theme": "Matcha",
"disable_images": true,
"hide_tips": true
}

Data Locations

Configuration and persistent data are stored in ~/.config/matcha/:

FileDescription
config.jsonAccount settings, preferences
signatures/Email signatures
pgp/PGP keys
plugins/Installed Lua plugins
themes/Custom theme JSON files
secure.metaEncryption metadata (only when encryption is enabled)

Cache data is stored in ~/.cache/matcha/:

FileDescription
email_cache.jsonEmail metadata cache
contacts.jsonContact autocomplete data
drafts.jsonSaved email drafts
folder_cache.jsonFolder listings per account
folder_emails/Per-folder email list cache
email_bodies/Cached email body content

Cache files are automatically refreshed from the server on each app launch and manual refresh. If an email is removed from the server, its cache entry is cleaned up on the next refresh.

Encryption

All data files can optionally be encrypted with a password. See Encryption for details.

When encryption is enabled, account passwords are stored inside the encrypted config.json instead of the OS keyring.