CLI reference
The frogg CLI manages a local daemon and controls any daemon you can reach. It is
installed with the daemon (install.sh, Docker image, Nix package). Custom brands
install it under their own name, for example acme.
Run frogg <command> --help for the authoritative flag list of your version.
Global options
Section titled “Global options”| Option | Meaning |
|---|---|
-o, --format <format> |
table (default), json or yaml |
--json |
Same as --format json |
-q, --quiet |
IDs only |
--no-headers |
Omit table headers |
--no-color |
No colour |
-v, --version |
Print the CLI version |
Choosing a daemon
Section titled “Choosing a daemon”Commands that talk to a daemon accept --host <host>:
frogg agent ls --host 192.168.1.20:9999frogg agent ls --host tcp://build-box:9999frogg agent ls --host ssh://dev@build-box # SSH to the host, then its local daemonWithout --host, the CLI uses FROGG_HOST, then the local daemon’s socket or pipe, then the
configured listen address, then localhost:9999. Set FROGG_PASSWORD if the daemon has a
password.
Daemon lifecycle
Section titled “Daemon lifecycle”| Command | What it does |
|---|---|
frogg onboard |
First-time setup: start the daemon and print pairing instructions |
frogg start |
Start the local daemon in the background (--foreground to stay attached) |
frogg stop |
Stop it (--force, --all also stops independent execution) |
frogg restart |
Stop and start with new flags |
frogg status |
Home, listen address, PID, log path, versions, LAN trust, detected providers |
frogg reload |
Reload config.json without a restart |
frogg update |
Update a versioned install from releases, with rollback |
frogg install-service |
Start the daemon at login (systemd user unit or launchd agent) |
frogg uninstall-service |
Remove that service |
frogg config-format |
Reformat config.json |
frogg execution-status |
Independent agent execution status |
Common start/restart flags:
| Flag | Meaning |
|---|---|
--listen <addr> / --port <n> |
Listen target (not both) |
--home <dir> |
State directory |
--web-ui / --no-web-ui |
Serve the web app |
--relay / --no-relay |
Connect to the configured relay |
--no-mcp, --no-inject-mcp |
Disable the MCP endpoint, or its injection into agents |
--hostnames <hosts> |
Allowed Host headers |
frogg update flags: --check, --to <version>, --channel <stable|beta>, --no-wait,
--install-dir <dir>, --verify-timeout <ms>, --json. Exit code 2 means the update
failed and was rolled back.
frogg daemon <command> still works as a hidden alias for these.
frogg auth
Section titled “frogg auth”| Command | What it does |
|---|---|
frogg auth pair |
Print a fresh pairing link, QR code and app deep link (--relay to include relay details) |
frogg auth claim-status |
Show whether a device has claimed this daemon |
frogg auth reset-claim |
Forget all paired devices |
frogg auth set-password |
Prompt for a password and store its hash in config.json |
frogg auth trust-lan <on|off> |
Whether private-network clients connect without pairing or a password |
See pairing and access.
frogg agent
Section titled “frogg agent”| Command | What it does |
|---|---|
frogg agent ls |
List agents (-a include archived, -g all directories, --label k=v) |
frogg agent run <prompt> |
Create and start an agent |
frogg agent send <id> [prompt] |
Send a message (--prompt-file, --image, --no-wait) |
frogg agent attach <id> |
Stream a running agent’s output |
frogg agent logs <id> |
Timeline (-f, --tail <n>, --filter tools|text|errors|permissions, --since) |
frogg agent wait <id> |
Wait until idle (--timeout) |
frogg agent inspect <id> |
Details |
frogg agent mode <id> [mode] |
Change mode (--list) |
frogg agent stop [id] |
Interrupt (--all, --cwd) |
frogg agent archive <id> |
Soft delete |
frogg agent delete [id] |
Hard delete |
frogg agent reload <id> |
Restart the provider process |
frogg agent detach <id> |
Make a subagent independent |
frogg agent update <id> |
Rename, change thinking level or labels |
frogg agent heartbeat create|update|delete |
Recurring prompts to the calling agent (run inside an agent) |
frogg agent run flags:
| Flag | Meaning |
|---|---|
--provider <p> or <p>/<model> |
claude, codex/gpt-5.5, a custom provider id |
--model, --mode, --thinking |
Model, permission mode, thinking option |
--cwd <path> / --workspace <id> |
Where to run |
--new-workspace <local|worktree> |
Create a workspace first |
--worktree-mode <branch-off|checkout-branch|checkout-pr>, --new-branch, --base, --branch, --pr-number, --forge, --worktree-slug |
Worktree options |
-d, --background |
Return immediately |
--title, --label k=v, --env k=v, --image <path> |
Metadata, env, attachments |
--wait-timeout <dur> |
Give up waiting after 30s, 5m, 1h |
--output-schema <file|json> |
Ask for JSON output matching a schema |
Examples:
frogg agent run --provider claude --mode plan "Explain how auth works in this repo"frogg agent run -d --new-workspace worktree --new-branch fix/login \ --provider codex "Fix the login redirect loop and add a test"frogg agent logs 8d32b1e --follow --filter permissionsfrogg permissions allow 8d32b1e --allfrogg permissions
Section titled “frogg permissions”Alias frogg permit.
| Command | What it does |
|---|---|
frogg permissions ls |
Pending requests across agents |
frogg permissions allow <agent> [req_id] |
Allow one, or --all. --input <json> edits the tool input |
frogg permissions deny <agent> [req_id] |
Deny one, or --all. --message, --interrupt |
frogg schedule
Section titled “frogg schedule”| Command | What it does |
|---|---|
frogg schedule create <prompt> |
--every 5m or --cron "0 9 * * 1-5", --timezone (default UTC), --name, --provider, --mode, --thinking, --cwd, --run-now, --max-runs, --expires-in |
frogg schedule ls, inspect <id>, logs <id> |
Inspect |
frogg schedule pause <id>, resume <id>, run-once <id>, delete <id> |
Control |
frogg schedule update <id> |
Change cadence, prompt, provider, limits |
See schedules.
frogg project and frogg workspace
Section titled “frogg project and frogg workspace”| Command | What it does |
|---|---|
frogg project create [path] |
Register a directory |
frogg project ls, rename <id> [name], delete <id> |
Manage. delete also removes its workspaces |
frogg workspace create --isolation <local|worktree> |
--path, --project, --title, worktree flags as for agent run |
frogg workspace ls, rename <id> [title], archive <id> |
Manage |
frogg terminal and frogg script
Section titled “frogg terminal and frogg script”| Command | What it does |
|---|---|
frogg terminal ls, create, kill <id> |
Manage workspace terminals |
frogg terminal capture <id> |
Print output (-S scrollback, --start, --end, --ansi) |
frogg terminal send-keys <id> <keys...> |
Type into a terminal (-l literal) |
frogg script ls, start <name>, stop <name> |
Run frogg.json scripts (--cwd, --workspace) |
frogg provider
Section titled “frogg provider”| Command | What it does |
|---|---|
frogg provider ls |
Providers, status, default mode |
frogg provider models <provider> |
Models (--thinking for thinking options) |
frogg provider diagnostic <provider> |
Binary resolution, version, auth and environment |
Opening the desktop app
Section titled “Opening the desktop app”frogg <directory> (for example frogg .) opens that directory as a project in the
desktop app, when it is installed.
Not available
Section titled “Not available”frogg trigger (alias hub) exists but every subcommand exits with
Triggers are disabled pending a rewrite.