onda_launch_session
Launch a terminal session in a workspace by ensuring the workspace exists, mounting it in a target window, and spawning a binary with arguments in a terminal pane.
Instructions
High-level macro: ensure workspace exists → mount it in target window → add a terminal pane → spawn bin with args (or prompt as single argv). Atomic from the agent's point of view. Supports placement modes: "auto" (default), "current-window", "window:", "new-window", "ask-user" (interactive — see below).
Placement "ask-user": the tool does NOT proceed. Instead returns { needsDecision: true, options: [{placement, label}], workspace }. The host agent must surface the choice to the human user and re-invoke this tool with placement set to a concrete value (e.g. "window:w-abc").
On success returns { windowId, workspaceId, terminalId, paneId, pid }.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bin | Yes | Binary to spawn (e.g., "claude"). | |
| args | No | Argv entries (preserved verbatim). | |
| prompt | No | Shortcut: passed as a single argv entry. Ignored if args is set. | |
| placement | No | auto | current-window | window:<id> | new-window | ask-user | |
| workspace | Yes | Workspace reference. Provide id | name | rootPath. Set createIfMissing:true (with name+rootPath) to auto-create. | |
| addTerminalIfNeeded | No | Default true. When false, expects a pane to already exist in the workspace. |