Updating
TraseAI is moving fast (pre “1.0”). Treat updates like shipping infra: update → run checks → restart (or usetraseai update, which restarts) → verify.
Recommended: update from source
From your TraseAI repo checkout:- Requires a clean worktree.
- Fetches + rebases against the configured upstream.
- Installs deps, builds, and runs
traseai doctor. - Restarts the gateway by default (use
--no-restartto skip).
Before you update
- Know how your Gateway is running: foreground terminal vs supervised service (launchd/systemd).
- Snapshot your tailoring:
- Config:
~/.traseai/traseai.json - Credentials:
~/.traseai/credentials/ - Workspace:
~/.traseai/workspace
- Config:
Update (Control UI / RPC)
The Control UI has Update & Restart (RPC:update.run). It:
- Runs the same source-update flow as
traseai update(git checkout only). - Writes a restart sentinel with a structured report (stdout/stderr tail).
- Restarts the gateway and pings the last active session with the report.
pnpm buildmatters when you run the packagedtraseaibinary (traseai.mjs) or use Node to rundist/.- If you run from a repo checkout without a global install, use
pnpm traseai ...for CLI commands. - If you run directly from TypeScript (
pnpm traseai ...), a rebuild is usually unnecessary, but config migrations still apply → run doctor. - Switching between global and git installs is easy: install the other flavor, then run
traseai doctorso the gateway service entrypoint is rewritten to the current install.
Always Run: traseai doctor
Doctor is the “safe update” command. It’s intentionally boring: repair + migrate + warn.
Note: if you’re on a source install (git checkout), traseai doctor will offer to run traseai update first.
Typical things it does:
- Migrate deprecated config keys / legacy config file locations.
- Audit DM policies and warn on risky “open” settings.
- Check Gateway health and can offer to restart.
- Detect and migrate older gateway services (launchd/systemd; legacy schtasks) to current TraseAI services.
- On Linux, ensure systemd user lingering (so the Gateway survives logout).
Start / stop / restart the Gateway
CLI (works regardless of OS):- macOS launchd (app-bundled LaunchAgent):
launchctl kickstart -k gui/$UID/bot.molt.gateway(usebot.molt.<profile>; legacycom.traseai.*still works) - Linux systemd user service:
systemctl --user restart traseai-gateway[-<profile>].service - Windows (WSL2):
systemctl --user restart traseai-gateway[-<profile>].servicelaunchctl/systemctlonly work if the service is installed; otherwise runtraseai gateway install.
Rollback / pinning (when something breaks)
Pin by date
Pick a commit from a date (example: “state of main as of 2026-01-01”):If you’re stuck
- Run
traseai doctoragain and read the output carefully (it often tells you the fix). - Check: Troubleshooting
- Ask in Discord: https://discord.gg/clawd