Skip to content

[Feature] Add persisted goal mode for long-running agent tasks #390

Description

@yhw5231

Affected area

Desktop UI (agent-gui / React)

Problem statement (what should this solve)

Long-running coding tasks currently require the user to manually send follow-up prompts after each model turn. Progress, pause/resume state, token usage, and recovery state are not persisted as a first-class conversation capability.

Proposed behavior

Add an optional per-conversation goal mode. Users can create and manage a persisted goal, see progress and TodoWrite steps above the composer, pause or resume work, recover the goal after reopening the conversation, and allow Agent-mode turns to continue automatically while the goal remains active. The run must stop on an explicit terminal state, budget or provider/runtime limits, and repeated no-progress output.

Estimated change scope

  • crates/agent-gui/src/lib/chat/
  • crates/agent-gui/src/lib/tools/
  • crates/agent-gui/src/pages/chat/
  • crates/agent-gui/src-tauri/src/commands/history/chat_history/
  • Goal-mode regression tests and user documentation

Alternatives considered

Manual follow-up prompts do not preserve lifecycle state or progress across restarts. A global background worker would be less predictable and would not keep execution scoped to a conversation.

Pre-submit checklist

  • I searched existing issues and pull requests and found no duplicates.
  • This proposal is focused on a single feature or improvement.
  • I understand a PR should come after this issue is confirmed by maintainers, otherwise it will be converted to draft.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions