Skip to content

Agents and the timeline

An agent is one conversation with a provider (Claude Code, Codex, OpenCode…) running on the daemon in a workspace. The daemon keeps its state and timeline, so every client sees the same agent and it keeps running when clients disconnect.

State Meaning
initializing The provider process is starting
running A turn is in progress
idle Waiting for your next message
error The provider failed; the timeline shows why
closed The runtime stopped. The agent can be resumed from its history

In a workspace, type in the composer and pick:

  • Model and, where the provider offers one, a thinking level,
  • Mode, which decides what runs without asking (see permissions).

Mention files with @, use / for provider commands and skills, and attach images or files with + or drag and drop. Each file can be at most 50 MB; larger files are rejected with an error before frogg reads them.

From the CLI:

Terminal window
frogg agent run --provider codex/gpt-5.5 --mode auto --cwd ~/code/api "Add rate limiting to /login"

While an agent is running, Enter steers the active turn with your new message and Cmd/Ctrl+Enter queues it for after the turn. Swap these in Settings → General → Default send.

The timeline shows messages, tool calls (reads, edits, shell commands), diffs, permission requests and results. Per message you can copy it, rewind to it, or fork chat from here to start a new agent with the conversation up to that point.

Read it from a terminal:

Terminal window
frogg agent logs <id> --tail 50
frogg agent logs <id> --follow --filter tools
Action CLI Effect
Stop frogg agent stop <id> Interrupts the current turn (stop button in the composer)
Archive frogg agent archive <id> Closes the runtime and hides the agent; history is kept
Delete frogg agent delete <id> Removes the agent
Reload frogg agent reload <id> Restarts the provider process, for example to pick up new skills, MCP servers or a login

Archiving a parent archives its subagents, except those open elsewhere or in another workspace, which are detached instead.

Agents can create agents. With the frogg MCP tools or the frogg CLI, an agent runs frogg agent run (or create_agent) and the child is labelled with its parent. Children created this way run in the background and notify the parent when they finish. Provider native subagents (for example Claude Code tasks) also appear under their parent.

Make a subagent independent without stopping it:

Terminal window
frogg agent detach <child-id>

Agents that were in the middle of a turn when the daemon stopped are resumed with a continuation prompt when it starts again, if the interruption was less than an hour ago.

To keep agent processes alive across daemon restarts entirely, opt in to independent execution with FROGG_EXECUTION_SERVICE=1 on the daemon. It is off by default; check it with frogg execution-status.

frogg agent run waits for the agent by default and exits when it is idle. Useful flags for automation:

Terminal window
frogg agent run --wait-timeout 10m --output-schema ./result.schema.json --json \
--provider claude "Summarize open TODOs as JSON"
frogg agent run -d --label ticket=ENG-142 "Investigate ENG-142"
frogg agent ls --label ticket=ENG-142
frogg agent wait <id> --timeout 600