Submit a message to a lane
Submits a message into a specific lane — the side conversation, or a subagent lane. Same 202 contract as the session-level message: a turn is accepted and its results stream over events, never on this response. One case answers 204 instead: a lane STOPPED on a question takes the message as the answer to that question, which unblocks the agent already running on it and opens no turn of its own.
Path Parameters
The session's id.
The lane's id.
Body
A user message submitted into a session or lane. Posted while work is running it is a steering message, queued and delivered between tool batches without discarding work already done.
The message text.
1Absolute paths of files to attach.
324096While a turn is running, steer delivers after a complete tool batch and follow-up starts a fresh turn after turn-finished. Defaults to steer. During a final stream with no subsequent tool batch, steer is durably converted to follow-up with the same admitted entry and turn id.
steer, follow-up Named agent recipe this message runs under: its prompt replaces the system prompt for the turn, its model overrides the session's, and its tool allowlist is the only catalogue the turn can see. The session's own behaviour when absent. Recorded on the admitted message, so the transcript says which agent each turn ran under — there is no session-wide current agent. Ignored on a side lane, exactly as LaneCreate ignores it there: a side conversation always runs the host's read-only explorer, and that is not the caller's to change on any road.
128^[^\s/\\]+$Response
Accepted; results stream over the event stream.
Acknowledgement of a submitted message. Everything the turn produces streams over GET /v1/events, correlated by this turn id — never over the submitting response.
Correlates this turn's events on the stream.

