Skip to content

Troubleshooting

Start with xlflow version --verbose --json, then xlflow doctor --json and xlflow status --json. Keep the JSON output and exit code when reporting a failure.

Installation

xlflow is not found

Symptoms: PowerShell, VS Code, or WSL reports that xlflow/xlflow.exe is not a command.
Likely cause: the installer directory is not on PATH, or only the Linux frontend/Go binary was installed.
Diagnose: run Get-Command xlflow, where.exe xlflow, or command -v xlflow; then run xlflow version.
Fix: reopen the shell, add the install directory to PATH, or set the VS Code xlflow.path. Install the Windows release archive when Excel operations need the .NET bridge.
Verify: xlflow version --json succeeds.

Excel is not detected

Run xlflow doctor --json. Install or repair desktop Excel, run the command on Windows, and ensure the process is not blocked by policy. Source-only lint, analyze, and fmt can still run without Excel.

VBIDE access is denied

Enable Excel Trust Center → Macro Settings → Trust access to the VBA project object model, restart Excel, and rerun doctor. The related code is vbide_access_denied.

Project setup

xlflow.toml is not found or the workbook path is invalid

Run commands from the directory containing xlflow.toml, or use xlflow new/xlflow init first. Check the configured [workbook].path and that the extension is .xlsm, .xlam, or .xlsb.

Source and workbook are out of sync

Symptoms: edits disappear, status reports a newer workbook/source, or push would overwrite changes.
Diagnose: run xlflow status --json and inspect source_of_truth, src_newer_than_workbook, and session dirty metadata.
Fix: workbook authoritative → xlflow pull; source authoritative → xlflow push; unknown → create a backup and inspect before overwriting.
Verify: rerun status and confirm the intended side is current.

Execution

Macro is not found

Run xlflow macros --json and use the returned qualified_name. A private or argument-bearing procedure may not be runnable through the selected path; use a public no-argument entry point or a test wrapper. Related code: macro_not_found.

Source changes are not reflected

Confirm the edited file is under a configured source root, run lint, then push. If using a session, include --session; if using --no-save, inspect the live workbook with --session and save explicitly.

Compile error or 0x800A03EC

Run xlflow lint --json, xlflow analyze --json, and xlflow run --diagnostic. Fix the reported source location or preflight finding before opening Excel. The diagnostic runner is preferred for agents; do not leave a compile dialog unattended.

A dialog blocks execution or the macro times out

Use --diagnostic/headless mode and xlflow dialog mappings for supported UI. Native MsgBox/InputBox calls should use the XlflowUI wrappers documented in the UI reference. For macro_timeout, inspect status, check for a UserForm/file picker, and stop or recover the session only after confirming whether Excel is still executing.

Sessions

A session is already running or remains dirty

Run xlflow session status --json. Reuse the matching session with --session, save with xlflow save --session, or intentionally discard a managed recovery session with xlflow session stop --discard. Never discard an external user-owned workbook automatically.

Excel remains after stopping

Managed sessions should close their owned Excel process. External sessions only detach. Use xlflow process list --json, then xlflow process cleanup <pid> --json only when ownership and safety are clear.

Recovery is required

workbook_recovery_required is not lock contention and cannot be fixed with --wait. Follow recovery: inspect status, stop/discard or close Excel without saving, clear the verified marker, and confirm status before resuming.

WSL

Windows xlflow cannot be found

Install the Windows CLI and bridge, verify Windows PATH interoperability, or set XLFLOW_WINDOWS_EXE to the Windows path. Re-run xlflow doctor --json from WSL.

Project path cannot be translated

Move the project under /mnt/c, /mnt/d, or another Windows-mounted drive. /home/... paths are supported for source-only commands but not Excel delegation. Related codes: windows_xlflow_not_found, wsl_project_path_unsupported, wsl_path_translation_failed, and windows_xlflow_execution_failed.

Released under the MIT License.