---
title: openplanr sprint
description: "openplanr sprint: Manage sprint artifacts deterministically. Subcommands: create, list, show, update, refinement, diff, close, apply."
url: https://openplanr.dev/docs/cli/sprint
updated: 2026-10-06
related:
  - https://openplanr.dev/docs/cli/graph.md
  - https://openplanr.dev/docs/cli/search.md
  - https://openplanr.dev/docs/cli/sync.md
---

# openplanr sprint

Manage sprint artifacts deterministically

```text
openplanr sprint [options] [command]
```

## openplanr sprint create

Create a sprint from flags or a JSON object

```text
openplanr sprint create [options] [title...]
```

Arguments:

- `title...` (optional): sprint title or description

Options:

- `--title <title>`: sprint title
- `--data <path>`: read deterministic JSON fields from a file, or - for stdin
- `--file <path>`: deprecated alias for --data
- `--json`: emit one machine-readable result
- `-d, --duration <duration>`: sprint duration; default `"2w"`

## openplanr sprint list

List sprint artifacts

```text
openplanr sprint list [options]
```

## openplanr sprint show

Print one sprint artifact

```text
openplanr sprint show [options] <id>
```

Arguments:

- `id` (required)

## openplanr sprint update

Update sprint frontmatter fields

```text
openplanr sprint update [options] <id>
```

Arguments:

- `id` (required)

Options:

- `--status <status>`
- `--owner <owner>`
- `--title <title>`

## openplanr sprint refinement

Store a refinement document: validate it, write the note and JSON, fill the sprint

```text
openplanr sprint refinement [options] <id>
```

Arguments:

- `id` (required): sprint id, e.g. SPRINT-004

Options:

- `--data <path>`: refinement JSON document, or - for stdin
- `--json`: emit one machine-readable result

## openplanr sprint diff

Show what moved between two refinement documents

```text
openplanr sprint diff [options] <from> <to>
```

Arguments:

- `from` (required): earlier sprint id
- `to` (required): later sprint id

Options:

- `--json`: emit one machine-readable result

## openplanr sprint close

Close the sprint and record its leftovers for the next refinement

```text
openplanr sprint close [options] <id>
```

Arguments:

- `id` (required): sprint id

Options:

- `--json`: emit one machine-readable result

## openplanr sprint apply

Write the approved status changes from the refinement document to the artifacts

```text
openplanr sprint apply [options] <id>
```

Arguments:

- `id` (required): sprint id

Options:

- `--yes`: confirm the write-back after the host skill asked its approval question
- `--dry-run`: list the changes without writing anything
- `--force`: skip status vocabulary validation
- `--commit`: commit exactly the changed files as chore(planr): refine backlog for <id>
- `--json`: emit one machine-readable result
