Skip to content

xlflow status

Show project, source, workbook, and session state in one read-only command.

Usage

bash
xlflow status
xlflow status --json

Options and Arguments

Option / argumentDescriptionDefault
--jsonReturn machine-readable state.false

Examples

bash
xlflow status --json

Notes

TIP

Use status before editing to confirm whether the saved workbook, live session, and source files are in sync.

TIP

AI agents should prefer xlflow status --json before pushing or running to avoid working against stale workbook state.

WARNING

src_newer_than_workbook is a heuristic based on file modification times. Clock skew or manual copies can cause false results.

status also distinguishes current lock ownership from recovery quarantine. busy: true means another xlflow operation owns the operating-system workbook lock. recovery_required: true means Excel-side completion is uncertain and unsafe workbook commands remain blocked even when busy is false.

JSON Output Example

json
{
  "status": "ok",
  "command": "status",
  "project": {
    "root": ".",
    "workbook_path": "build/Book.xlsm",
    "src_paths": ["src/modules", "src/classes", "src/forms", "src/workbook"],
    "project_name": "sample"
  },
  "session": {
    "active": false,
    "workbook_path": "build/Book.xlsm",
    "workbook_name": "Book.xlsm",
    "dirty": false,
    "running": false,
    "workbook_open": false,
    "metadata": null,
    "save_required": false,
    "live_newer_than_disk": false,
    "source_of_truth": "saved_workbook"
  },
  "coordination": {
    "busy": false,
    "recovery_required": false
  },
  "state": {
    "src_newer_than_workbook": false,
    "live_session_newer_than_disk": false,
    "workbook_saved": true,
    "source_of_truth": "saved_workbook",
    "workbook_last_modified_at": "2026-05-23T10:00:00Z",
    "latest_source_modified_at": "2026-05-22T10:00:00Z"
  },
  "warnings": [],
  "hints": [],
  "error": null,
  "logs": ["status reported"]
}

While recovery is required, status does not call unsafe workbook COM APIs. It reports session.dirty: null, session.source_of_truth: "uncertain", session.discard_required: true, and nested recovery details under coordination.recovery. Use recovery to choose a safe clearing path.

If recovery metadata cannot be read safely, status still does not report a clean workbook. It sets coordination.recovery_check_failed: true, keeps busy / recovery_required unknown (null), and reports the session/source of truth as uncertain.

When to use this command

Use xlflow status when the task matches the command description above. For a goal-oriented workflow, start with the How-to guides and return here for exact options.

Prerequisites

Check the project configuration and run xlflow doctor --json before workbook-backed operations. Source-only commands can run without Excel; commands that read or mutate a workbook require Windows Excel and VBIDE access.

What this command reads and changes

The command reads the inputs and configuration described in its syntax and examples. Treat source files, the saved workbook, and a live session as separate states; add --session when the live workbook is authoritative. Any mutation is reversible only when a backup or explicit session save boundary exists.

Effect on source-of-truth state

Use xlflow status --json before and after the command. A source edit normally requires push; a workbook edit normally requires pull; a dirty live session requires save --session or an intentional discard.

Common workflows

Combine this command with the relevant source/workbook/session workflow, and use --json in scripts and agent loops.

Common failures

Read the structured error.code, exit code, and recovery metadata instead of scraping terminal text. The symptom-oriented troubleshooting guide maps installation, execution, session, VS Code, and WSL failures to recovery steps.

Released under the MIT License.