Skip to main content
Midway reads midway.yaml from the current working directory. Create a starting file with midway init, or choose another path with --config:

Configuration sections

The top-level tokens section contains optional credentials for notification services. Add only the services you use. Local desktop notifications do not require credentials. Credentials are stored in midway.yaml as plain text. Protect the file and avoid committing it to a public repository. The notification and notify_after sections are optional. If either whole section is omitted, Midway uses its defaults.

Notification destinations

By default, send_to contains all notification methods: Local, Slack, Ntfy, Discord, Telegram, and Email. External services still need their credentials under tokens to deliver notifications. If you define a notification section, set send_to explicitly. When the section is present but send_to is omitted, no destinations are selected. When send_to is set, only listed methods are eligible; configured methods left out are skipped. pick_from defaults to All, which selects every method in send_to. For example, this configuration sends only to local desktop notifications and Slack:
pick_from also accepts Random, Half, OneThird, and Any with a count to select one, about half, about one third, or up to the requested number of methods from the send_to list.

Command notifications

If the notify_after section is omitted, its defaults are: If you include notify_after, provide all four fields:
Currently, command execution uses minimum_send_after to decide when to send one completion notification after the command exits. Midway does not send periodic notifications while a command is running. The enabled, notify_after, and send_lines_log values are stored but do not currently change runtime behavior.