Updates

Change proposals — review, approve, and merge diffs from feature branches.

Updates (also called change proposals) are the core review mechanism in Strayl. Every time the AI agent finishes a task or you run st push from the CLI, a change proposal is created — a reviewable diff of a feature branch against dev.

You can find them in Manage → Updates.

What is a change proposal?

A change proposal represents a git feature branch that has been proposed for merging into dev. It includes:

  • A title and description (auto-generated by the AI or provided by you)
  • The diff of every file modified on the branch
  • Metadata: which chat session created it, stack position, author, date
  • A status: open, accepted, denied, or needs restack

Statuses

Viewing changes

Open Manage → Updates. You'll see a list of all change proposals for the project, newest first.

Each row shows:

  • Title and the chat session it came from
  • Stack position (order in the queue)
  • Time ago
  • Status badge (for accepted/denied) or action buttons (for open changes)
  • Additions/deletions count

Click any row to open the detail view with the full file-by-file diff.

The diff view

The detail view shows:

  • Added lines in green
  • Removed lines in red
  • Unchanged lines in gray
  • File sections that can be collapsed/expanded

Each file is shown in a collapsible block with a header indicating whether it was added, modified, or deleted.

Approving a change

If you are the project owner or administrator:

  1. Open the change in Manage → Updates
  2. Review the diff
  3. Click Accept (or press Enter) — the feature branch is merged into dev

After merging, the change status becomes Accepted and dev is updated.

Note: A change with Needs restack status cannot be accepted until the conflict is resolved. Use st change <id> restack from the CLI, or ask the AI agent to rebase the branch.

Denying a change

  1. Open the change or find it in the list
  2. Click Deny (or press Backspace) — the branch is not merged and the status becomes Denied

Stacked changes

Changes have a stack position — the order they will be applied onto dev. If a change earlier in the stack is modified or denied, later changes may need to be restacked because their base has changed.

The needs_restack status can appear for three reasons:

Keyboard shortcuts (in detail view)

StraylSTRAYL

The place where your code product lives

© 2026 Strayl. All rights reserved.