An advanced, suspend-aware, and GNU sleep-compatible sleep utility with live countdown and flexible datetime parsing.
- Live Countdown: Shows remaining time in the terminal (auto-disabled if not a TTY).
- Suspend-aware: Compensates for system suspend/resume by polling
SystemTime(opt out with-m, --monotonic). - Sleep Until: Support for sleeping until a specific datetime.
- Zero dependencies: ... Except for the platforms C runtime for signal handling.
asleep 1h30m
asleep 5m
asleep 90
asleep --until tomorrow 8am-h,--help: Show help message.-n,--no-progress: Disable live countdown display.-m,--monotonic: Use a monotonic clock (does not count time spent in suspend).-u,--until DATETIME: Sleep until the specified datetime.
asleep supports several formats for the --until flag:
- Unix Timestamp:
@1234567890(seconds since epoch). - Time Only:
HH:MM,HH:MM:SS, orHHam/HHpm. Supports both 24-hour and 12-hour formats (witham/pmsuffix). Interpreted as local time. If the time has already passed today, tomorrow is assumed. - UTC Time:
HH:MMZorHH:MM:SS UTC. - Offset Time:
HH:MM+02:00,HH:MM-05:00, orHH:MM+0530. - Tomorrow:
tomorrow(midnight) ortomorrow 10:00. - Full Datetime:
YYYY-MM-DD HH:MM:SS. Date part can be combined with any of the time formats above.
asleep --until 23:59
asleep --until 11:59pm
asleep --until 6pm
asleep --until 06:00Z
asleep --until tomorrow 8am
asleep --until "2026-12-25 10:00:00+02:00"Prebuilt binaries for Linux, macOS, and Windows can be found on the releases page.
Install the latest version with the standalone installer:
# macOS and Linux.
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CramBL/asleep/releases/latest/download/asleep-installer.sh | sh# Windows.
powershell -ExecutionPolicy Bypass -c "irm https://github.com/CramBL/asleep/releases/latest/download/asleep-installer.ps1 | iex"brew install CramBL/tap/asleepasleep is available on crates.io.
cargo install asleepEnsure you have Rust installed, then run:
git clone https://github.com/CramBL/asleep.git
cd asleep
cargo build --release