Hello everyone,
I have been working with child flows for about a week now and have been dealing with some disturbing behaviour around the "Run-only user" connection error not working as expected. I want to showcase the behaviour I've been seeing in hopes that others out there can recreate this problem Additionally, I've included my workarounds in hopes that it will help someone out there.
Action 'Run_a_Child_Flow' has defined a child flow that contains 'run-only user' connections.

Scenario 1: Publishing the parent flow while a child flow is set to "Run-only users" raises an expected error, however updating the child flow to "Use this connection" does not behave as expected.
How to Recreate Scenario 1:
- Have a flow called "Child flow".
- Trigger = "Manually trigger a flow".
- Connections Used is set to "Run using Connection...".
- Located in a solution.
- Has a connector "Respond to a power app"
- Output params "bar" with value "bas"


- Have another flow called "Parent Flow"
- Has a "Run a child flow" which calls the formerly mentioned flow.
- Publish the "Parent Flow" and receive the expected error regarding "Run-only-users".

- Go to the "child flow" and set from "Run-only-users" to "Using connection of user..." . Optionally you can publish the flow.

- Go back to the "Parent Flow" and attempt to publish.
- Note that the error will persist, even after restarting the page.
Occasionally, publishing the parent flow will cause the child flow to re-set to run-only.
Scenario 1 Workaround:
- Ensure the child flow is set to "Run using connection of user..."
- Open the child flow, and change the output parameter from "bar" to "bar1", and output value from "bas" to "bas1". Publish the flow.

- Go to the Parent flow and refresh the page. Publish it and it will work. (Failure to refresh the page will often set the child flow back to read-only, or will require you to try steps 1-3 again).

Recreating Scenario 1 is very consistent on my end. I assume it has to do with some cached values, and that adjusting the output parameters forces it to re-validate the schema.
Scenario 2: Updating the input params of child flow causes it to reset to "Read-only-User" mode.
How to Recreate Scenario 2:
- Have a flow called "Child flow".
- Trigger = "Manually trigger a flow".
- Trigger params = "foo" (text, optional).
- Connections Used is set to "Run using Connection..." instead of "Run only Users".
- Located in a solution.
- Has a connector "Respond to a power app"
- Output params "bar" with value "bas"
- Have another flow called "Parent Flow"
- Has a "Run a child flow" which calls the formerly mentioned flow.
- Testing has shown that it can successfully run the child flow, and the return is expected
- Adjust child flow input parameter from "foo" to "foo1" and Publish.
Observed unexpected behaviour of Scenario 2: The child flow reverts back to a run-only flow, and the parent flow cannot be published due to this behaviour.
Temporary Workaround for Scenario 2:
- Adjust child input parameter "foo" to "foo1" to the child flow and Publish.
- Go to the child flow and switch from "run-only user" to "Run on selected users plan".
- Open the child flow and publish it.
- Go to the parent flow if it is already open, restart the page. Publish it.
note that any deviation from this order will not work, and you will need to follow workaround in scenario 1.
For example, if you do not re-publish the child flow, it will not work. If you attempt to publish the parent flow before publishing the child flow, it will not work. This error cannot be re-created consistently. It is sometimes caused by deleting or adding input parameters, or changing the names of input parameters.
This test was performed on Mozilla Firefox 137.0.2 (64-bit)