new_split
Create a new split pane for terminal or browser windows to organize parallel AI agent workflows within a terminal multiplexer.
Instructions
Create a new split pane (terminal or browser)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| direction | Yes | Split direction | |
| workspace | No | Target workspace ref | |
| surface | No | Target surface ref | |
| pane | No | Target pane ref | |
| type | No | Surface type | terminal |
| url | No | URL for browser surfaces | |
| title | No | Tab title | |
| focus | No | Focus the new pane |
Implementation Reference
- src/server.ts:245-266 (handler)The handler function for the "new_split" tool in src/server.ts, which calls client.newSplit to perform the actual splitting logic.
async (args) => { try { const result = await client.newSplit(args.direction, { workspace: args.workspace, surface: args.surface, pane: args.pane, type: args.type, url: args.url, title: args.title, focus: args.focus, }); if (args.title) { await client.renameTab(result.surface, args.title, { workspace: result.workspace || args.workspace, }); result.title = args.title; } return ok({ ...result }); } catch (e) { return err(e); } }, - src/server.ts:222-244 (registration)Registration of the "new_split" tool and its input schema using Zod in src/server.ts.
server.tool( "new_split", "Create a new split pane (terminal or browser)", { direction: z .enum(["left", "right", "up", "down"]) .describe("Split direction"), workspace: z.string().optional().describe("Target workspace ref"), surface: z.string().optional().describe("Target surface ref"), pane: z.string().optional().describe("Target pane ref"), type: z .enum(["terminal", "browser"]) .optional() .default("terminal") .describe("Surface type"), url: z.string().optional().describe("URL for browser surfaces"), title: z.string().optional().describe("Tab title"), focus: z .boolean() .optional() .default(true) .describe("Focus the new pane"), },