Troubleshoot¶
Recordings are blank or black¶
The operating system blocked screen capture without an error.
Turn on OpenAdapt, or the terminal you record from, in Privacy & Security → Screen Recording, Privacy & Security → Accessibility, and Privacy & Security → Input Monitoring, then quit and reopen it. A new Screen Recording permission applies only after a restart.
- One window blank: that window runs as administrator. Run OpenAdapt as administrator too.
- Everything blank: the process runs in a different session from the signed-in desktop. See the Windows agent server.
pip install openadapt doesn't install the engine¶
The engine and the MCP server need Python 3.10, 3.11, or 3.12. On Python 3.13 or later, pip installs only the launcher. Use a 3.12 environment, or:
The browser doesn't start on Linux¶
Run openadapt doctor --backend web. It lists the system libraries Chromium
needs that are missing, and the command that installs them.
A run is refused before it starts¶
run exited 2 and nothing ran. The message names the gate. Common causes:
| Message names | Fix |
|---|---|
| Certification or policy | Run openadapt flow certify bundle --policy clinical-write and fix what it reports. |
| A missing admission | Standard and Regulated need --qualification-authority-file for that exact bundle version. |
unresolved fields |
Fill every field listed under unresolved in the deployment file. |
| A surface mismatch | The bundle was recorded on another surface. Pass the right --backend. |
| An unencrypted bundle | Regulated needs an encrypted bundle: openadapt flow seal bundle -o bundle-sealed. |
Add --dry-run to see every gate without running.
A run stops too often on RDP or Citrix¶
The right-record check can't read an identifier with confidence from
pixels, usually because of confusable characters such as O and 0. Teach
the specific case with openadapt flow teach, or use a surface with
structure if the app offers one. Don't lower the check: a stop is better than
a save to the wrong record. See Handle a halt.
A run ended RECONCILIATION_REQUIRED¶
A save may have gone through. Don't run it again. Have a person look up the
record in the application. If the save didn't happen, run the item again; if
it did, mark the item done. openadapt flow approve --authorize-uncertain-retry
allows one retry of the uncertain step after that check.
The agent gets did_not_run with not_ready_to_run¶
The workflow hasn't passed the checks its profile needs. failed_checks
names each one, such as not_certified. See
Certify and qualify a workflow.
The Windows agent server is in the wrong session¶
A Windows service, a task running as SYSTEM, or a command started over SSH runs in a different session from the signed-in desktop. Screenshots come back blank and input goes nowhere. Sign in, open a terminal on the desktop, and start the server there:
set OAFLOW_AGENT_TOKEN=<a long random secret>
python -m openadapt_flow.backends.win_agent.server --port 5001
curl http://127.0.0.1:5001/health
active_console_session in the health response must be a number other than
-1 or 0.
The offline queue is stuck¶
The desktop app shows OFFLINE or SYNCING, and pushes aren't reaching
Cloud. The upload queue keeps items across restarts and retries when the
connection returns. From the command line, a failed push exits 1 in both of
these cases, so read the message or the --json status, not the exit code:
push failed: ...("status": "failed"): Cloud didn't accept the artifact. Fix the cause and runpushagain.Push delivery is uncertain("status": "delivery_uncertain","next_action": "reconcile"): Cloud may have received it. Don't push again yet. Reconcile the artifact in Cloud first, and push again only if Cloud doesn't have it.
If the token was revoked, mint a new one in Cloud settings and run
openadapt flow login --token <token>.
openadapt connect says No such command 'connect'¶
The launcher is older than 1.7, often from an old Conda environment. Upgrade
in a clean virtual environment with python -m pip install --upgrade
openadapt, then generate a new pairing code; codes expire after five
minutes.
Still stuck¶
Run openadapt flow explain on the run directory, then ask on
Discord or open an issue on
GitHub. Leave patient data
and screenshots out of public posts.