Skip to main content
Run comet status when you take over a project or are unsure what to run next. It shows the default entry, active changes, and the recommended next action for each change. comet status is fully read-only. It does not select a change, modify files, or run Build/Verify checks.

Start with the text output

A project with no active changes prints:
Read the output in this order:
  • Default Entry: The workflow used by default for /comet. In this example, the default is Native, the entry is /comet-native, and the value comes from the project configuration.
  • Native Changes: Native changes in the project.
  • Classic Changes: Changes managed by Comet through the Classic workflow.
  • Unmanaged OpenSpec Changes: Plain OpenSpec changes. They are not managed by the Comet state machine and use OpenSpec commands.
  • No active changes.: No change is currently in progress in that category. It does not mean Comet is missing or that the project is unhealthy.

Output for an active change

For a Classic change, the output puts the phase, task progress, and next command together:
This means that next-build is in the Classic build phase, with 1 of 2 tasks complete. It uses branch isolation, and the next command for the current phase is /comet-build. When a Runtime check is missing required evidence, the output names the missing files and the recovery action:
Return to /comet-open, or restore the listed files, before continuing to Build. Then run comet doctor again. Native changes appear under Native Changes:
phase is the current phase, not a historical phase. Use the following command for the complete state of one Native change:

JSON output

Use JSON when a script or Dashboard needs to consume the status:
The root status groups changes by workflow and uses a shared schema:
changes is the combined list of Classic and plain OpenSpec changes for scripts that need one list. Native changes remain under workflows.native.changes. The JSON from the Native detail command also includes the loop, acceptance, Runtime checks, and continuation fields:
When continuing a Native change, follow continuation.commandArgs and inputOptions.template from the current response. Do not construct internal arguments by hand.

Multiple changes

A project can have multiple active Native changes. .comet/current-change.json identifies the workflow/change that owns the next write; it is not a lock that limits the project to one change. Select the Native change that should own the next write with:
Branch or worktree mismatches, ambiguous targets, unsynced code, and active/archive layout conflicts return await-user or blocked instead of guessing another change.

Archive commands

When a change is ready to archive, status prints the recommended command:
  • The first command is for a Comet-managed Classic change.
  • The second command is for a plain OpenSpec change.
  • If recommended archive is not shown, the change has not met the archive conditions. Do not force an archive based only on the status output.
Use the following command for a Native change:
When status reports a problem, follow the printed next action or the Native JSON continuation, then run comet doctor to check project health.
Last modified on September 4, 2026