Terminal app for vagal tone training. Single-file Python, no dependencies. Grounded in CHF clinical trials (Bernardi, Vaschillo, Lehrer). macOS. Science: /science/
Breathe CLI paces slow breathing for cardiac vagal tone support. It is a habit tool, not a medical device: it does not diagnose, treat, or monitor disease, and it does not replace care from your clinician.
For install and usage, see the product home.
Resonance breathing — paced breathing near six breaths per minute (a 10-second cycle) — is among the better-studied non-pharmacological ways to engage cardiac vagal pathways.
The chain is physiological, not mystical:
Around 0.1 Hz (~6 breaths/min) is also where many adults show a cardiovascular resonance peak in heart-rate variability research: breathing, heart rate, and blood-pressure oscillations line up so baroreflex stimulation is especially strong. Individual “resonance frequency” can sit a little below or above 6 bpm; this app uses a fixed ~6 bpm protocol that matches the clinical slow-breathing literature it cites, not a sensor-guided personal RF assessment.
In heart failure with reduced ejection fraction (HFrEF), sympathetic overdrive is both a symptom and a driver of progression. Trials of slow breathing in chronic heart failure (CHF) have shown improvements in baroreflex sensitivity, oxygen saturation, and exercise tolerance — sometimes after a single session, with further gains when practice is daily over weeks.
That evidence motivates a low-friction daily habit. It does not mean breathing replaces guideline-directed medical therapy, devices, or follow-up. Effects vary; this app cannot predict individual clinical outcomes.
All named presets keep a 10-second cycle → 6 breaths/min. What changes is duration and inhale:exhale balance.
| Preset | Duration | Ratio (in–ex) | Intent | Literature anchor |
|---|---|---|---|---|
morning |
10 min | 5–5 | Equal phases; daily baseline | Habit-sized morning bout; acute RSA/baroreflex effects appear within a short paced session |
midday |
20 min | 4–6 | Longer exhale; main daytime train | Within the common ~15–20 min training-bout band; CHF home device-guided work is often ~15 min × 2/day (this app runs one session per invoke) |
evening |
15 min | 4–6 | Sympathetic wind-down | Matches common single-session CHF / evening slow-breathing length (e.g. Laborde 15 min) |
night |
20 min | 3–7 | Stronger exhale bias before sleep | Tsai 2015 pre-sleep 6 cpm, 3–7, ~20 min |
Goal-word feel axis (same ratios, duration chosen separately): train → 5–5, calm → 4–6, sleep → 3–7. Custom sessions stay inside the same envelope: each phase 3–10 s, total cycle ≥ 8 s.
Several popular breathing-app features are excluded on purpose:
4-7-8 are rejected.Stop immediately if you feel lightheadedness, palpitations, or tingling in the hands or face. Run breathe --safety for the in-app safety screen.
Supports: a consistent, timed practice of slow continuous breathing at ~6 bpm, with presets aligned to published protocol shapes.
Does not: measure heart rate, HRV, SpO₂, or blood pressure; find your personal resonance frequency; provide biofeedback; or claim to reverse heart failure. For true HRV biofeedback you need appropriate sensors and a clinician- or researcher-guided protocol (Lehrer / Vaschillo tradition).
night (3–7, ~20 min).Personal project by Marek Kowalczyk.