LEARN MORE
Settings
Kiri has few settings, and most people never change them. Open Settings under Kiri in the window’s sidebar. It has six tabs: Appearance, Resources, Network, Import, Domains and About. Everything you change is saved in small JSON files in ~/.kiri.
Resources
Appearance
How the window looks. These are saved in ~/.kiri/ui.json and apply at once.
| Setting | Choices |
|---|---|
| Theme | System (follows macOS), Dark, Light |
| Accent | Blue, Purple, Orange, Teal, Pink, Green. Used for selection, focus rings and primary buttons. |
| Interface font | System, or any font installed on your Mac. Tables, the sidebar and headings. |
| Monospace font | System Mono, or any fixed-width font installed. IDs, commands and code. |
| Text size | 90%, 100%, 110%, 125%. View → Zoom In and Zoom Out (⌘+ and ⌘−) step through the same sizes. |
Resources
The most the Linux VM may use. The VM shares your Mac’s CPUs and memory rather than reserving them: it only uses CPU while containers are busy, takes memory as containers need it, and gives the rest back to macOS. See Memory and sleep.
| Setting | Range | Default |
|---|---|---|
| CPUs | 1 up to the number of CPUs in your Mac | 2 |
| Memory | 1 GB steps, up to your Mac’s memory | Half your Mac’s memory, at least 2 GB and at most 8 GB |
Save writes both to ~/.kiri/vm.json. The VM reads them each time it starts, so if it’s asleep they apply the next time it wakes. If it’s running, Restart VM to apply restarts it now. That stops running containers, so start them again afterwards.
The engine decides the numbers in this order, each time the VM boots:
Network
A proxy, for networks that need one. Saved in ~/.kiri/proxy.json.
| Setting | Choices |
|---|---|
| Proxy | macOS settings (the default), Custom or None. Used for pulling, pushing and searching images, and for docker login. |
| HTTP proxy, HTTPS proxy, Bypass for | With Custom: the proxy addresses, and the hosts that skip it (for example *.internal, registry.corp). |
| Pass to containers | Off (the default) or On. When on, new containers get HTTP_PROXY, HTTPS_PROXY and NO_PROXY. A proxy running on your Mac is reached as host.docker.internal. |
If macOS uses an automatic proxy configuration (PAC) file, Kiri can’t follow it: choose Custom and enter the proxy. VPNs need no setting, because container traffic leaves through macOS’s own networking.
Import, Domains and About
- Import brings images, volumes and containers over from OrbStack or Docker Desktop. The other engine must be running, and it isn’t changed: images are copied, volumes are read through a temporary read-only helper, and containers arrive stopped. See Moving from Docker Desktop.
- Domains has two switches. Local names picks
kiri.localhost(no setup) orkiri.local, which adds/etc/resolver/kiri.localand so asks for an administrator password. HTTPS trusts Kiri’s own certificate authority, sohttps://myapp.kiri.localworks; macOS asks for your password. See Domain names and HTTPS. - About shows the app’s version, the engine’s version and Docker API version, whether the VM is running or asleep, its kernel, CPUs and memory. Quote the version when you send Feedback.
Files and environment variables
Settings live in ~/.kiri (images and volumes live elsewhere; see Install):
| File | What’s in it | Read |
|---|---|---|
~/.kiri/ui.json |
Theme, accent, fonts, text size, column widths, and the update you skipped or snoozed | By the window |
~/.kiri/vm.json |
{"cpus": …, "memory_mib": …} from Settings → Resources |
At each VM start |
~/.kiri/proxy.json |
Proxy mode, addresses, bypass list and whether containers get them | At once |
The engine also reads a few environment variables. They’re for the kiri daemon process, so they only apply when it starts with them in its environment.
| Variable | What it does |
|---|---|
KIRI_CPUS |
The VM’s CPUs. Wins over Settings, which then says so. |
KIRI_MEMORY_MIB |
The VM’s memory ceiling, in MiB. Wins over Settings. |
KIRI_IDLE_SECS |
Seconds idle before the VM sleeps. Default 60; 0 means never. |
KIRI_BUILDER_IDLE_SECS |
Seconds before an idle BuildKit builder container is stopped. Default 300. |
KIRI_NO_BALLOON |
Set it to turn off the memory balloon that gives unused memory back to macOS. |
KIRI_HTTP_PORT, KIRI_HTTPS_PORT |
Ports for the container-name routers. Default 80 and 443. |
KIRI_NO_FINDER |
Set it to skip mounting container files at ~/Kiri. |
KIRI_SOCKET |
Where the Docker API socket goes. Default ~/.kiri/run/docker.sock. |
KIRI_DATA_DIR |
Where images, volumes and the VM’s disk go. Default ~/Library/Application Support/Kiri. |
KIRI_UPDATE_URL |
A different release feed. See Updates. |
© 2026 Kiri · runkiri.com