Waktu Solat CLI provides accurate prayer times for various locations in Malaysia
There are multiple ways to get this CLI installed:
You must have Homebrew installed first
brew untap waktusolatmy/tools &>/dev/null || true
brew tap waktusolatmy/tools
brew install waktusolat
waktusolat version
curl -sfL https://raw.githubusercontent.com/waktusolatmy/cli/refs/heads/master/install.sh | sh
You must have Go installed first
git clone https://github.com/waktusolatmy/cli.git
cd cli
go build -o waktusolat
sudo mv waktusolat /usr/local/bin
waktusolat version
Command
waktusolat zones [-o json|yaml]
Example
$ waktusolat zones
JAKIMCODE NEGERI DAERAH
JHR01 Johor Pulau Aur dan Pulau Pemanggil
JHR02 Johor Johor Bahru, Kota Tinggi, Mersing, Kulai
...
WLY01 Wilayah Persekutuan Kuala Lumpur, Putrajaya
WLY02 Wilayah Persekutuan Labuan
Example (JSON)
$ waktusolat zones -o json
[
{
"jakimCode": "JHR01",
"negeri": "Johor",
"daerah": "Pulau Aur dan Pulau Pemanggil"
},
{
"jakimCode": "JHR02",
"negeri": "Johor",
"daerah": "Johor Bahru, Kota Tinggi, Mersing, Kulai"
},
...
{
"jakimCode": "WLY01",
"negeri": "Wilayah Persekutuan",
"daerah": "Kuala Lumpur, Putrajaya"
},
{
"jakimCode": "WLY02",
"negeri": "Wilayah Persekutuan",
"daerah": "Labuan"
}
]
Command
waktusolat zone set <code>
Example
$ waktusolat zone set TRG01
New zone set to TRG01
Command
waktusolat zone current [-o json|yaml]
Example
$ waktusolat zone current
JAKIMCODE NEGERI DAERAH
TRG01 Terengganu Kuala Terengganu, Marang, Kuala Nerus
Example (JSON)
$ waktusolat zone current -o json
{
"jakimCode": "TRG01",
"negeri": "Terengganu",
"daerah": "Kuala Terengganu, Marang, Kuala Nerus"
}
Command
waktusolat [-o json|yaml]
Example
$ waktusolat
ZONE SUBUH SYURUK ZOHOR ASAR MAGHRIB ISYAK
TRG01 5:59AM 7:07AM 1:14PM 4:15PM 7:18PM 8:27PM
Example (JSON)
$ waktusolat -o json
{
"zone": "TRG01",
"subuh": "5:59AM",
"syuruk": "7:07AM",
"zohor": "1:14PM",
"asar": "4:15PM",
"maghrib": "7:18PM",
"isyak": "8:27PM"
}
Command
waktusolat -z <code> [-o json|yaml]
Example
$ waktusolat -z WLY01
ZONE SUBUH SYURUK ZOHOR ASAR MAGHRIB ISYAK
WLY01 6:06AM 7:12AM 1:20PM 4:22PM 7:24PM 8:33PM
Example (JSON)
$ waktusolat -z WLY01 -o json
{
"zone": "WLY01",
"subuh": "6:06AM",
"syuruk": "7:12AM",
"zohor": "1:20PM",
"asar": "4:22PM",
"maghrib": "7:24PM",
"isyak": "8:33PM"
}
Command
waktusolat version
Example
$ waktusolat version
CLI version: v0.0.5
Go version: go1.24.1
Build date: 2025-03-31T14:43:45Z
Git commit: f152151fe8638ad09835f2b6b21eb0d98b1ea684
OS/Arch: linux/amd64