Skip to content

Run the daemon

Install with the script, Docker or Nix first; see install. This page covers operating a daemon once it is there.

install.sh registers a login service. Manage it with the CLI or the service manager:

Platform Service Logs
Linux systemd user unit frogg-daemon.service journalctl --user -u frogg-daemon -f, and ~/.frogg/daemon.log
macOS launchd agent app.frogg.frogg-daemon ~/Library/Logs/app.frogg.frogg-daemon.log, and ~/.frogg/daemon.log
Windows Scheduled task created by frogg install-service %USERPROFILE%\.frogg\daemon.log
Terminal window
frogg status
frogg restart
frogg stop
frogg install-service --listen 0.0.0.0:9999 # (re)create the login service
frogg uninstall-service

Without a service, run it yourself:

Terminal window
frogg start # background; prints PID and log path
frogg start --foreground # stay attached, for containers and supervisors

Only one daemon can use a home directory. A second start fails with Another frogg daemon is already running (PID ...).

The default is 0.0.0.0:9999: every interface, port 9999.

Terminal window
frogg restart --listen 127.0.0.1:9999 # this machine only (use with SSH or a proxy)
frogg restart --port 9443
frogg restart --listen /run/user/1000/frogg.sock

Persist it in config.json as daemon.listen, or with FROGG_LISTEN. The CLI on the same machine finds the daemon through its socket or pipe automatically.

Everything lives in FROGG_HOME (~/.frogg): config.json, agents, projects, schedules, worktrees, paired devices, logs and speech models. Back it up to keep history and pairings. See configuration.

Terminal window
frogg status | grep Logs
tail -f ~/.frogg/daemon.log

The log is JSON by default and rotates at 10 MB, keeping three files. Readable output:

Terminal window
FROGG_LOG_FORMAT=pretty FROGG_LOG_LEVEL=debug frogg start --foreground

Authorization headers are redacted. When a background start fails, the CLI prints the last log lines.

Agents inherit the daemon’s environment. A service keeps the PATH it was installed with. After installing a new agent CLI into a new location, re-run the installer or frogg install-service, then frogg restart. Put provider API keys in the service’s environment rather than your shell profile.

By default, restarting the daemon stops agent processes; agents that were mid-turn are resumed with a continuation prompt when the daemon comes back (within an hour).

Opt-in independent execution keeps agent runtimes in a separate process so they survive daemon restarts and updates:

Terminal window
FROGG_EXECUTION_SERVICE=1 frogg restart
frogg execution-status
frogg stop --all # stop the daemon and the execution service with its agents

Set FROGG_EXECUTION_SERVICE=1 in the service environment to make it permanent.

Give each its own home and port:

Terminal window
FROGG_HOME=~/.frogg-work frogg start --listen 0.0.0.0:9998
FROGG_HOME=~/.frogg-work frogg status

Use --host or FROGG_HOST to point CLI commands at the right one.

Terminal window
frogg reload

It reports settings applied live, settings that need frogg restart, and settings pinned by env vars or flags.