Skip to main content

Configuration & data

Where Harmony keeps its files, the environment variables that matter, and the config CLI.

Where things live

WhatWindowsLinux / macOS
App install%LOCALAPPDATA%\NALA\/opt/nala/ (DEB/RPM) or AppImage
Desktop app data (window layout, preferences, secure storage)%APPDATA%\NALA\~/.config/NALA/ (Linux), ~/Library/Application Support/NALA/ (macOS)
Background service data (sessions, tasks, agents, scrollback)%USERPROFILE%\.wmux\~/.wmux/
Logs, desktop app%APPDATA%\NALA\logs\~/.config/NALA/logs/ (Linux), ~/Library/Logs/NALA/ (macOS)
Logs, background service%USERPROFILE%\.wmux\logs\~/.wmux/logs/
CLI shim%LOCALAPPDATA%\NALA\bin\/usr/bin/ (DEB/RPM) or ~/.local/bin/

Harmony was first released as NALA, and before that it grew out of a project called wmux. The folder names above keep those older names on purpose: renaming them would strand existing installs' data, so they stay until a migration moves them safely.

The config CLI

harmony config get [key]          # one key, or everything
harmony config set <key> <value>
harmony config unset <key>
harmony config path               # where the file lives
harmony config validate           # check it parses

Project and workspace behavior can also be shaped per-repo with a wmux.json file (trust-gated before it is honored).

Environment variables

VariableDefaultPurpose
NALA_WHISPER_MODELsmallWhisper model for dictation (tiny … large-v3)
NALA_WHISPER_PYTHONpython / python3Python executable for the voice worker
NALA_WHISPER_PRELOADonWarm the model after app start; 0 to skip
NALA_NO_BANNERunsetSet 1 to suppress the TUI launch banner
KIMI_SHELL_PATHunsetGit Bash path for Kimi Code on Windows

Per-repo and per-user secrets (provider API keys, tokens, model weight caches) belong to the providers' own config homes. Never commit .env files or credential material to a repo.

Data lifecycle facts worth knowing

  • Suspended sessions persist 7 days, then expire.
  • Channel history caps at 5,000 messages per channel; empty channels are reaped after 7 days.
  • Update-migration backups (migration-backup-{timestamp}/) are retained for 7 days.
  • There is no in-app reset. To start from scratch, quit Harmony (including the tray icon), then delete the desktop app data and background service data folders listed above. Uninstalling Harmony leaves both folders in place, so your sessions and settings survive a reinstall. There is no product subscription to cancel; manage third-party agent accounts with their providers.

Diagnostics

harmony doctor checks the daemon, Node runtime (including the managed portable runtime Harmony can install under user data), provider probes, MCP registration, voice models, and signing state. --json for machines, --fix-safe to repair the safe class of findings automatically. Logs for everything the daemon does are in the logs directory above.