Upgrading
Using the install script
The same install script handles upgrades. If Kyber is already installed, it detects the existing version, cleanly reinstalls the package, preserves your config and secrets, and restarts running services:
curl -fsSL https://kyber.chat/install.sh | bashIt will show:
✓ kyber-chat upgraded (2026.2.7.4 → 2026.2.7.5)
✓ Existing config preserved at ~/.kyber/config.json
✓ Existing secrets preserved at ~/.kyber/.env
→ Restarting services...
✓ Restarted chat.kyber.gateway
✓ Restarted chat.kyber.dashboardThe onboarding prompts are skipped entirely on upgrade.
Migrating secrets from config.json
If you’re upgrading from an older version that stored API keys in config.json, run:
kyber migrate-secretsThis moves all API keys and tokens from config.json to ~/.kyber/.env, blanks them from the JSON file, and sets file permissions to 600. Your keys continue to work — they’re just stored securely now.
Manual upgrade
uv tool install --force --no-cache kyber-chatVerify
kyber --versionNotes
- Your
~/.kyber/config.jsonand~/.kyber/.envare never overwritten during upgrades - Workspace files (
AGENTS.md,SOUL.md, etc.) are not modified - If running as a system service, the install script automatically restarts gateway and dashboard services after upgrading
- For manual upgrades, restart services yourself:
# macOS
launchctl unload ~/Library/LaunchAgents/chat.kyber.gateway.plist
launchctl load ~/Library/LaunchAgents/chat.kyber.gateway.plist
launchctl unload ~/Library/LaunchAgents/chat.kyber.dashboard.plist
launchctl load ~/Library/LaunchAgents/chat.kyber.dashboard.plist
# Linux
systemctl --user restart kyber-gateway
systemctl --user restart kyber-dashboard