Skip to content

V2: reliable host-owned stop/clear UX when an agent finishes a Loop job #175

Closed as not planned

Description

@ByBrawe

Observation

The Reddit report says telling the model to execute /loop-clear did not stop the job. A model writing a slash command in chat is not the same as the user invoking OpenCode's native host command. Separately, a real exFAT user reported editing persisted state to stop an idle job.

Goal

Provide a safe, discoverable, model-independent stop path, including clear explanation of which actor can stop a job. Investigate whether an explicitly authorized host-owned agent completion signal/tool should be exposed for the current Loop job without broadening capabilities or bypassing foreground/Goal reservation.

Acceptance

  • /loop-status documents job identity, infinite/completion mode, and the exact native user stop operation.
  • Confirm /loop-stop, /loop-clear can stop scheduled and queued work even when a model suggests a command; no shadow Markdown prompt commands.
  • If adding a tool, scope to the currently Loop-owned run and job/session, require host-issued one-use authority, reject arbitrary prompts / other sessions / stale generations; never permit Goal lifecycle authority via Loop.
  • Tests cover before dispatch, queued-undelivered cancellation, delivered turn, restart, foreground interruption, Desktop/TUI/remote differences.
  • Keep default unlimited scheduling unchanged; cross-reference checklist-stop issue.

Activity

  1. ByBrawe commented on Oct 30, 2026

    @ByBrawe
    OwnerAuthor

    Maintenance-scope decision (2026-10-30): we are keeping stop/clear host-owned. A model printing /loop-clear is not a host command; existing user-invoked /loop-stop, /loop-clear and /loop-status are the supported safe controls, with host-level tests and the distinction documented in 0.6.9/0.6.10 notes. We will not add an assistant-invoked stop tool or capability-granting agent workflow during the final standalone release: doing so would introduce new authorization, race and cross-session risks without an independently proven safe design. Closing the optional feature request not planned, not claiming a model can execute the slash command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions