Uses: CLI · Claude Code · Codex
engini CLI, on your own login and your own API-key connection. It does nothing your key could not do by hand - which is also the honest limit of every safety measure on the Flo safety page.
The current release is v0.1.0. The plugin is published at github.com/engini/flo-plugin.
Before you start
jq is not needed.
Install in Claude Code
Run these two commands in Claude Code:vX.Y.Z with the release tag, for example v0.1.0. Claude Code does not update plugins on its own, and neither tool signs or verifies a plugin, so the pinned form is the one to use if you review what you install.
Start a new session after installing - the skill is not found until you do.
Install in Codex
/plugins browser and start a new session - the skill is not found until you do.
Codex has no Flo guard hook, so also save the Codex rules from Flo safety as ~/.codex/rules/flo.rules. Codex runs commands without network by default, which makes every engini call fail: see Codex sandbox.
Add the safety settings
A plugin cannot install your own permission settings for you. Copy them in yourself:- Claude Code: merge the permissions block from Flo safety into your user settings, and never run Flo on auto-accept or
--dangerously-skip-permissions. - Codex: save the rules file as described above.
Check the install
This check must fail loudly if something is wrong. Claude Code. Run/plugin details flo@engini-flo. It must list Skills (1), Agents (1) and Hooks (1). Hooks (0) means the guard is not installed and nothing but your own settings stops the four things Flo never does (see Flo safety).
Then prove the guard actually runs. Ask Claude to run this exact command. It is harmless either way: it makes a throwaway fake engini in a temp folder and puts it first on the path, so your real CLI and account are never touched.
- The result says
FLO-HOOK-DENY- the guard is working. - It prints
FLO-CANARY-RAN- the guard did not run (no Python on the path, hooks disabled in your settings, the plugin disabled, or an older Claude Code). Fix that before you rely on it. - It prints a permission-denied message and neither of the two above - your own settings caught it, but the guard still did not run. Fix that too.
Connect Engini
Do this in your own terminal.1
Log in
engini login --api-key ...: arguments end up in your shell history and in the process list.2
Connect the workflows app
x-api-key) and paste your workspace-scoped key. Any other auth method fails every builder call with 403 API_KEY_REQUIRED.First run
Ask for a workflow in plain words:- Checks the CLI version, your login (account, workspace and environment) and your
engini_workflowsconnection. - Compiles a throwaway plan to confirm which workspace and environment your connection writes to.
- Searches the catalog, reads each step’s schema and dropdown options, and compiles the plan until it is clean.
- Stops and shows you a proposal table: every step, the target workspace and environment the compile echoed, the connection id and a fingerprint.
- Creates the workflow only when you approve that proposal in the conversation, quoting its fingerprint. The workflow is created turned off.
What Flo will and won’t do
Flo will: design, dry-run, propose, and create or update workflows you approved - always turned off. Flo won’t: turn a workflow on or off, run it, rerun an execution, delete a workflow, create or change a connection, or handle your API key. How each of these is enforced, and where the enforcement stops, is on Flo safety.Update and uninstall
- Update: run
/plugin marketplace update engini-flo, then reinstall with/plugin install flo@engini-flo. In Codex, upgrade from/plugins. Neither tool updates Flo on its own, so a fix to the never list or the guard reaches you only when you update. - Uninstall: run
/plugin uninstall flo@engini-flo(Claude Code), or remove it in/plugins(Codex). Remove the safety settings from your configuration if you no longer want them.
Troubleshooting
The full list, including every error Flo can report from Engini, is in the plugin’s troubleshooting guide.