Skip to content

First run & setup

Run setup (or open Settings → Setup checklist). Each row shows whether it is done; tap Fix on an unchecked row and Kolahal opens the right system page. Come back and the list re-checks itself. setup text prints the same checklist into the log, where tapping an unchecked line runs its fix.

The setup checklist: default home app, usage access, notifications, notification access, double-tap to lock, battery unrestricted, work / private profiles

Every row is optional. Kolahal works without any of them, with the limits listed below.

Row Fix command Why
Default home app home Kolahal opens on Home. Android only lets the default launcher pause or resume the work profile, read app shortcuts and see the private space.
Usage access usage-access Accurate unlock counts (from KEYGUARD_HIDDEN usage events), including unlocks while the launcher wasn’t running, and usage screen time. Without it, unlocks are counted with an ACTION_USER_PRESENT receiver, which misses unlocks while the launcher isn’t running.
Notifications notifications Lets scripts and feeds post notifications (Android 13+ asks at runtime).
Notification access notifs enable Shows your notifications in the terminal (notifs) and gives scripts notifications.recent().
Double-tap to lock accessibility An optional accessibility service whose only job is locking the screen, for the double-tap gesture and the lock command. It subscribes to no events and reads no window content.
Do Not Disturb access dnd access Optional. Lets dnd and ring silent change Do Not Disturb. See Media and device controls.
Modify system settings brightness access Optional. Lets brightness, rotate and screen-timeout change system settings.
Contacts contacts --allow Optional. call, sms and contacts find people by name, with your contacts as suggestions. See People.
Calendar agenda --allow Optional. Upcoming events with agenda. See Productivity.
Call log calls --allow Optional. Your incoming, outgoing and missed calls appear in the log, and calls lists them. See People.
Local network local-network new Optional, Android 17 and newer only. Lets scripts with @uses lan and feeds on your own network (a home server, a router page) reach it.
Battery unrestricted battery Timer scripts and feeds run on schedule instead of being deferred by battery optimisation.
Work / private profiles (none) Information only: lists the work, private space and clone profiles found and whether each is on or paused.

When you are done, Continue to terminal takes you to the prompt. Next: Basics.