runpane 2.4.15 → 2.4.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -175,7 +175,7 @@ exports.RUNPANE_CONTRACT = {
175
175
  },
176
176
  {
177
177
  "name": "panes create",
178
- "summary": "Create one or more Pane sessions in a saved repository and open a terminal-backed tool tab.",
178
+ "summary": "Create user-visible Panes (Pane sessions) backed by Pane-managed worktrees for feature/PR work and open terminal-backed tool tabs.",
179
179
  "usage": [
180
180
  "runpane panes create --repo <selector> --name <name> --agent <codex|claude> [--source user|agent] [--focus|--no-focus] [options]",
181
181
  "runpane panes create --from-json <path|-> [--yes] [--json]"
@@ -693,7 +693,7 @@ exports.RUNPANE_CONTRACT = {
693
693
  " runpane panes create --repo <selector> --name <name> --agent <codex|claude> [options]",
694
694
  " runpane panes create --from-json <path|-> [--yes] [--json]",
695
695
  "",
696
- "Creates Pane sessions in a saved repository and opens a terminal-backed tool tab.",
696
+ "Creates user-visible Panes (Pane sessions) for feature/PR work in a saved repository and opens a terminal-backed tool tab. Pane creates and owns the worktree/branch for each new Pane.",
697
697
  "",
698
698
  "Options:",
699
699
  " --repo <selector> active, id, exact path, or saved repository name",
@@ -1046,7 +1046,7 @@ exports.RUNPANE_CONTRACT = {
1046
1046
  " runpane panes create --repo <selector> --name <name> --agent <codex|claude> [options]",
1047
1047
  " runpane panes create --from-json <path|-> [--yes] [--json]",
1048
1048
  "",
1049
- "Creates Pane sessions in a saved repository and opens a terminal-backed tool tab.",
1049
+ "Creates user-visible Panes (Pane sessions) for feature/PR work in a saved repository and opens a terminal-backed tool tab. Pane creates and owns the worktree/branch for each new Pane.",
1050
1050
  "",
1051
1051
  "Options:",
1052
1052
  " --repo <selector> active, id, exact path, or saved repository name",
@@ -1301,7 +1301,7 @@ exports.RUNPANE_CONTRACT = {
1301
1301
  "runpane repos list --json",
1302
1302
  "runpane repos add --path /path/to/repo --name Pane --yes --json",
1303
1303
  "runpane panes list --repo active --json",
1304
- "runpane panes create --repo active --name issue-252 --agent codex --prompt \"Kick off the discussion skill for issue 252\" --yes",
1304
+ "runpane panes create --repo active --name issue-252 --agent <agent> --prompt \"Kick off the discussion skill for issue 252\" --source agent --no-focus --wait-ready --yes --json",
1305
1305
  "runpane panes create --from-json panes.json --yes --json",
1306
1306
  "runpane panels list --pane <pane-id> --json",
1307
1307
  "runpane panels output --panel <panel-id> --limit 200 --json",
@@ -1323,7 +1323,7 @@ exports.RUNPANE_CONTRACT = {
1323
1323
  "`runpane repos list` connects to the running local Pane daemon and prints saved repository records.",
1324
1324
  "`runpane repos add` registers an existing git repository with the running local Pane daemon. It does not create directories or initialize git repositories by default.",
1325
1325
  "`runpane panes list` lists Pane sessions, optionally scoped to one saved repository.",
1326
- "`runpane panes create` connects to the running local Pane daemon, resolves the requested repository, creates Pane sessions, opens terminal-backed tool tabs, and optionally sends initial input to the started tool. Built-in agent panes and `--source agent` default to background/no-focus unless `--focus` is passed.",
1326
+ "`runpane panes create` connects to the running local Pane daemon, resolves the requested saved base repository, creates user-visible Pane sessions backed by Pane-managed worktrees/branches, opens terminal-backed tool tabs, and optionally sends initial input to the started tool. Built-in agent panes and `--source agent` default to background/no-focus unless `--focus` is passed.",
1327
1327
  "`runpane panels list` lists tool panels inside one Pane session.",
1328
1328
  "`runpane panels output` reads bounded recent terminal output from one panel and strips common terminal control noise for agent use.",
1329
1329
  "`runpane panels input` sends exact input bytes to one terminal panel. Prefer `--input-file` for newlines, Ctrl-C, quotes, or shell-sensitive text.",
@@ -1684,6 +1684,7 @@ exports.RUNPANE_CONTRACT = {
1684
1684
  "release",
1685
1685
  "installedPane",
1686
1686
  "daemon",
1687
+ "remoteSetup",
1687
1688
  "nextCommands"
1688
1689
  ],
1689
1690
  "properties": {
@@ -1828,6 +1829,61 @@ exports.RUNPANE_CONTRACT = {
1828
1829
  },
1829
1830
  "additionalProperties": false
1830
1831
  },
1832
+ "remoteSetup": {
1833
+ "type": "object",
1834
+ "required": [
1835
+ "ready",
1836
+ "displayAvailable",
1837
+ "headlessEnvironmentApplied",
1838
+ "diagnostics"
1839
+ ],
1840
+ "properties": {
1841
+ "ready": {
1842
+ "type": "boolean"
1843
+ },
1844
+ "displayAvailable": {
1845
+ "type": "boolean"
1846
+ },
1847
+ "headlessEnvironmentApplied": {
1848
+ "type": "boolean"
1849
+ },
1850
+ "diagnostics": {
1851
+ "type": "array",
1852
+ "items": {
1853
+ "type": "object",
1854
+ "required": [
1855
+ "code",
1856
+ "severity",
1857
+ "message"
1858
+ ],
1859
+ "properties": {
1860
+ "code": {
1861
+ "enum": [
1862
+ "PANE_APPIMAGE_FUSE_MISSING",
1863
+ "PANE_ELECTRON_SANDBOX_ROOT",
1864
+ "PANE_ELECTRON_SANDBOX_UNAVAILABLE",
1865
+ "PANE_USER_SERVICE_UNAVAILABLE"
1866
+ ]
1867
+ },
1868
+ "severity": {
1869
+ "enum": [
1870
+ "warning",
1871
+ "error"
1872
+ ]
1873
+ },
1874
+ "message": {
1875
+ "type": "string"
1876
+ },
1877
+ "recoveryCommand": {
1878
+ "type": "string"
1879
+ }
1880
+ },
1881
+ "additionalProperties": false
1882
+ }
1883
+ }
1884
+ },
1885
+ "additionalProperties": false
1886
+ },
1831
1887
  "nextCommands": {
1832
1888
  "type": "array",
1833
1889
  "items": {
@@ -3382,20 +3438,28 @@ exports.RUNPANE_CONTRACT = {
3382
3438
  "agentContext": {
3383
3439
  "brief": {
3384
3440
  "title": "Pane agent context",
3385
- "summary": "Pane lets a developer manage repositories and user-visible terminal panes. Agents can use runpane to create panes, inspect compact terminal state, wait for readiness, and submit interactive input.",
3441
+ "summary": "Pane lets a developer manage saved base repositories, user-visible Panes (Pane sessions) for feature/PR work, and terminal-backed panel tabs. A Pane is a visible workspace that normally maps to one Pane-managed git worktree and branch; a panel is a terminal tab inside one Pane and shares that Pane's worktree; an agent is a CLI process running inside a panel.",
3386
3442
  "rules": [
3387
3443
  "Start with `runpane doctor --json` to understand wrapper, platform, daemon reachability, and the next safe commands before mutating Pane state.",
3388
3444
  "In a Pane repository checkout, if `runpane` is not on PATH, use the built local wrapper with Node 22, for example `PATH=/opt/homebrew/opt/node@22/bin:$PATH node packages/runpane/dist/cli.js doctor --json`.",
3445
+ "Happy path for any user request to use Pane/RunPane: run `runpane doctor --json`, read `runpane agent-context --json`, resolve or add the saved base repo, create the requested visible Pane with a complete command such as `runpane panes create --repo <repo> --name <name> --agent <agent> --prompt \"<task>\" --source agent --no-focus --wait-ready --yes --json` (or use `--tool-command <command>` instead of `--agent <agent>`), then validate with `panels wait` or `panels screen`.",
3446
+ "Treat Pane as the user's visible cockpit for watching/co-driving work. Do not create Panes or panels for private delegation unless the user asked for visible Pane orchestration or the result should appear in the Pane app.",
3447
+ "Register the saved base repository once with `repos add`; do not register a pre-created worktree as a separate repo unless the user explicitly asks.",
3448
+ "Use `panes create` for separate visible Panes (Pane sessions) for feature/PR work. Pane creates and owns the worktree/branch for each new Pane.",
3449
+ "Use `panels create` for reviewer/helper/clean-context tabs that should stay inside an existing Pane and share that Pane's worktree.",
3450
+ "For private background decomposition, use your normal subagent/worktree mechanism instead of Pane.",
3451
+ "Skill routing: when the user says `discussion`, `plan`, `simple-plan`, `create-plan`, or `implement`, or asks for those behaviors, treat three references as peer context: Pane's local skill cache under `<PANE_DIR>/skills/`, the Pane Chat orchestrator handoff at `<PANE_DIR>/skills/pane-chat/runpane-orchestrator.md` when present, and the workflow map at https://github.com/dcouple/skills/raw/main/docs/readme-workflow-map.png. For where the local cache and Pane Chat bootstrap live in Pane, reference https://github.com/dcouple/Pane/pull/291. Use GitHub reads against https://github.com/dcouple/skills/tree/main/parsa only to inspect or refresh referenced skill files; do not clone or install it unless the user asks.",
3452
+ "When an agent creates Panes or panels, pass `--source agent --no-focus --wait-ready --yes --json` unless the user explicitly wants focus moved.",
3389
3453
  "Use `runpane agent-context --json` for the full agent-facing CLI context, or `runpane agent-context --command <command> --json` for one detailed command definition.",
3390
3454
  "For `agent-context --command`, use canonical spaced names like `panes create`; copied forms like `panes.create` or `runpane panes create` are accepted too.",
3391
3455
  "Use `runpane repos list --json` to find the saved repository when unsure after doctor shows the daemon is reachable.",
3392
3456
  "If WSL cannot reach Pane or `runpane` resolves to a broken Windows shim, the user may be running Windows Pane; try `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane doctor --json'`.",
3393
3457
  "If the repository exists on disk but is not saved in Pane, use `runpane repos add --path <repo> --yes --json` before creating panes.",
3394
3458
  "Use `runpane agents doctor --agent <codex|claude> --repo <selector> --json` when agent availability differs across host, Windows, WSL, or repo environments.",
3395
- "Use `runpane panes create --wait-ready` to create panes and validate initial terminal readiness in one call.",
3459
+ "Use `runpane panes create --wait-ready` to create Panes and validate initial terminal readiness in one call.",
3396
3460
  "Use `runpane panels screen` for compact current state, `panels wait` for readiness/text checks, `panels submit` for ordinary Enter-submitted input, and `panels submit-composer --strategy auto` for agent composers.",
3397
3461
  "Use `runpane panels input` only when exact bytes are required, such as Ctrl-C or handcrafted terminal input.",
3398
- "After creating panes or sending terminal input, validate with `panels wait` or bounded `panels screen` before reporting success."
3462
+ "After creating Panes or sending terminal input, validate with `panels wait` or bounded `panels screen` before reporting success."
3399
3463
  ],
3400
3464
  "detailCommand": "runpane agent-context --command <command> [--json]",
3401
3465
  "tools": [
@@ -3456,7 +3520,7 @@ exports.RUNPANE_CONTRACT = {
3456
3520
  },
3457
3521
  {
3458
3522
  "name": "panes create",
3459
- "summary": "Create one or more Pane sessions in a saved repository and open a terminal-backed tool tab.",
3523
+ "summary": "Create user-visible Panes (Pane sessions) backed by Pane-managed worktrees for feature/PR work and open terminal-backed tool tabs.",
3460
3524
  "arguments": [
3461
3525
  "--repo <selector>",
3462
3526
  "--name <name>",
@@ -3477,7 +3541,7 @@ exports.RUNPANE_CONTRACT = {
3477
3541
  },
3478
3542
  {
3479
3543
  "name": "panels create",
3480
- "summary": "Create sibling reviewer or helper tabs inside an existing pane without stealing focus from the implementation tab.",
3544
+ "summary": "Create reviewer/helper terminal tabs inside an existing Pane; they share that Pane's worktree.",
3481
3545
  "arguments": [
3482
3546
  "--pane <pane-id>",
3483
3547
  "--agent <codex|claude>",
@@ -3899,8 +3963,8 @@ exports.RUNPANE_CONTRACT = {
3899
3963
  },
3900
3964
  "panes create": {
3901
3965
  "name": "panes create",
3902
- "summary": "Create one or more Pane sessions in a saved repository and open a terminal-backed tool tab.",
3903
- "details": "Use this to set up user-visible panes for work. Select a saved repository, choose a built-in agent or custom terminal command, and optionally send initial input after the tool starts. For multi-step shell setup, pass a shell command through --tool-command rather than adding a new runpane primitive.",
3966
+ "summary": "Create user-visible Panes (Pane sessions) backed by Pane-managed worktrees for feature/PR work and open terminal-backed tool tabs.",
3967
+ "details": "Use this when the user wants separate visible Panes (Pane sessions) for feature or PR work. Select the saved base repository, choose a built-in agent or custom terminal command, and optionally send initial input after the tool starts. Pane creates and owns a git worktree/branch for each new Pane; do not pre-create a git worktree and register it as a separate repo unless the user explicitly asks. For private background decomposition, use your normal subagent/worktree mechanism instead of Pane.",
3904
3968
  "requiresPaneDaemon": true,
3905
3969
  "mutates": true,
3906
3970
  "arguments": [
@@ -3991,9 +4055,9 @@ exports.RUNPANE_CONTRACT = {
3991
4055
  }
3992
4056
  ],
3993
4057
  "examples": [
3994
- "runpane panes create --repo active --name issue-257 --agent codex --prompt \"Plan this issue\" --yes",
4058
+ "runpane panes create --repo active --name issue-257 --agent <agent> --prompt \"Plan this issue\" --source agent --no-focus --wait-ready --yes --json",
3995
4059
  "runpane panes create --from-json panes.json --yes --json",
3996
- "runpane panes create --repo active --name issue-123 --agent codex --prompt \"Plan this issue\" --wait-ready --yes --json"
4060
+ "runpane panes create --repo active --name issue-123 --agent <agent> --prompt \"Plan this issue\" --source agent --no-focus --wait-ready --yes --json"
3997
4061
  ],
3998
4062
  "jsonSchemas": [
3999
4063
  "paneCreateRequest",
@@ -4001,13 +4065,17 @@ exports.RUNPANE_CONTRACT = {
4001
4065
  ],
4002
4066
  "notes": [
4003
4067
  "At least one of --agent or --tool-command is required unless --from-json is used.",
4068
+ "`panes create` is for user-visible Pane orchestration, not the agent's default private delegation mechanism.",
4069
+ "Register the saved base repository once. Pane creates and owns the worktree/branch for each new Pane.",
4070
+ "Use `panels create` instead when a reviewer/helper should share an existing Pane's worktree.",
4071
+ "Agent-created Panes should pass `--source agent --no-focus --wait-ready --yes --json` unless the user explicitly wants focus moved.",
4004
4072
  "The built-in agent templates come from the runpane contract; custom terminal commands can pass agent-specific flags when requested by the user.",
4005
4073
  "Use --initial-input-file for multi-line prompts or shell-sensitive initial input.",
4006
4074
  "When the JSON result includes nextCommand, run it to validate that the terminal produced output before reporting success.",
4007
4075
  "Multi-pane requests are created sequentially today. The --concurrency flag is accepted for compatibility, but agents should not rely on parallel creation.",
4008
4076
  "For POSIX or WSL command chaining, use a custom terminal command like `bash -lc 'cmd1 && cmd2 && cmd3'`.",
4009
4077
  "For Windows PowerShell command chaining, use a custom terminal command like `powershell -NoProfile -Command \"cmd1; if ($LASTEXITCODE) { exit $LASTEXITCODE }; cmd2\"`.",
4010
- "From WSL with Windows Pane, invoke through PowerShell and select the saved WSL repo by name or id, for example `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane panes create --repo \"WSL Pane\" --name issue-123 --agent codex --prompt \"Plan this issue\" --yes --json'`.",
4078
+ "From WSL with Windows Pane, invoke through PowerShell and select the saved WSL repo by name or id, for example `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane panes create --repo \"WSL Pane\" --name issue-123 --agent <agent> --prompt \"Plan this issue\" --source agent --no-focus --wait-ready --yes --json'`.",
4011
4079
  "Use --wait-ready when an agent needs to verify that an agent terminal started instead of only creating a pane.",
4012
4080
  "If readiness returns blocked, inspect blocked.suggestedCommand rather than guessing which prompt to answer."
4013
4081
  ]
@@ -4183,14 +4251,14 @@ exports.RUNPANE_CONTRACT = {
4183
4251
  }
4184
4252
  ],
4185
4253
  "examples": [
4186
- "runpane agents doctor --agent codex --repo active --json"
4254
+ "runpane agents doctor --agent <agent> --repo active --json"
4187
4255
  ],
4188
4256
  "jsonSchemas": [
4189
4257
  "agentDoctorResult"
4190
4258
  ],
4191
4259
  "notes": [
4192
4260
  "For WSL repos, install the agent inside the WSL distro Pane uses, not only on Windows.",
4193
- "This diagnoses built-in Codex/Claude templates only; custom commands should be validated by creating a pane and reading its screen."
4261
+ "This diagnoses built-in agent templates only; custom commands should be validated by creating a pane and reading its screen."
4194
4262
  ]
4195
4263
  },
4196
4264
  "panels screen": {
@@ -4353,8 +4421,8 @@ exports.RUNPANE_CONTRACT = {
4353
4421
  },
4354
4422
  "panels create": {
4355
4423
  "name": "panels create",
4356
- "summary": "Create a terminal-backed tool panel inside an existing pane.",
4357
- "details": "Use this to add reviewer or helper tabs to the current pane without creating a new session. Agent/orchestrator-created panels should pass --source agent or --no-focus so the user stays in the implementation tab. The daemon initializes the terminal immediately and can wait for CLI readiness.",
4424
+ "summary": "Create a reviewer/helper terminal tab inside an existing Pane.",
4425
+ "details": "Use this to add reviewer, helper, or clean-context tabs to an existing Pane. The new panel shares the existing Pane's worktree and branch; it does not create a separate Pane session. Use `panes create` instead when the user wants a separate visible Pane (Pane session) for feature/PR work. Agent/orchestrator-created panels should pass --source agent or --no-focus so the user stays in the implementation tab. The daemon initializes the terminal immediately and can wait for CLI readiness.",
4358
4426
  "requiresPaneDaemon": true,
4359
4427
  "mutates": true,
4360
4428
  "arguments": [
@@ -4433,8 +4501,8 @@ exports.RUNPANE_CONTRACT = {
4433
4501
  }
4434
4502
  ],
4435
4503
  "examples": [
4436
- "runpane panels create --pane <pane-id> --agent claude --source agent --no-focus --wait-ready --yes --json",
4437
- "runpane panels create --pane <pane-id> --agent codex --source agent --no-focus --wait-ready --yes --json"
4504
+ "runpane panels create --pane <pane-id> --agent <agent> --source agent --no-focus --wait-ready --yes --json",
4505
+ "runpane panels create --pane <pane-id> --tool-command <command> --title <title> --source agent --no-focus --wait-ready --yes --json"
4438
4506
  ],
4439
4507
  "jsonSchemas": [
4440
4508
  "panelCreateRequest",
@@ -4442,6 +4510,8 @@ exports.RUNPANE_CONTRACT = {
4442
4510
  ],
4443
4511
  "notes": [
4444
4512
  "Use this for same-pane reviewer loops after PR creation/testing.",
4513
+ "Panels share the existing Pane's worktree and branch.",
4514
+ "`panels create` is for visible helper/reviewer tabs, not the agent's default private delegation mechanism.",
4445
4515
  "For agent-created panels, prefer --source agent or --no-focus to avoid stealing focus from the user or implementation tab."
4446
4516
  ]
4447
4517
  },
@@ -4493,7 +4563,27 @@ exports.RUNPANE_CONTRACT = {
4493
4563
  "managedBlock": [
4494
4564
  "## Pane",
4495
4565
  "",
4496
- "The developer is using Pane for this repository. Pane can manage saved repositories and create user-visible panes with terminal-backed tools for planning, discussion, implementation, and review work.",
4566
+ "The developer is using Pane for this repository. Pane can manage saved repositories and create user-visible Panes with terminal-backed tools for planning, discussion, implementation, and review work.",
4567
+ "",
4568
+ "This managed guidance was created by [runpane.com](https://runpane.com) for the [Pane repository](https://github.com/dcouple/Pane). Do not delete or overwrite this block; the developer uses it for their workflow and it should remain committed to the main repository unless they explicitly ask to remove it.",
4569
+ "",
4570
+ "Pane mental model: a repository is the saved base repo; a Pane is a user-visible feature/PR workspace (Pane session) that normally maps to one Pane-managed git worktree and branch; a panel/tab is a terminal inside one Pane and shares that Pane's worktree; an agent is the CLI process running in a panel.",
4571
+ "",
4572
+ "Default happy path when the user asks you to use Pane or RunPane: run `runpane doctor --json`; read `runpane agent-context --json`; resolve the saved base repository with `runpane repos list --json` or add it once with `runpane repos add --path <repo> --yes --json`; create one visible Pane (Pane session) for the requested feature/PR with a complete command such as `runpane panes create --repo <repo> --name <name> --agent <agent> --prompt \"<task>\" --source agent --no-focus --wait-ready --yes --json` or the equivalent `--tool-command <command>` form; then validate with `runpane panels wait` or `runpane panels screen` before reporting progress.",
4573
+ "",
4574
+ "Use Pane when the user wants visible Panes or co-drivable parallel feature/PR workspaces. Do not use Pane as your default private delegation mechanism; for private background decomposition, use your normal subagent/worktree workflow.",
4575
+ "",
4576
+ "Register the main/base repository once. Do not register pre-created git worktrees as separate Pane repositories unless the user explicitly asks.",
4577
+ "",
4578
+ "Use `runpane panes create` for separate visible Panes (Pane sessions) for feature/PR work. Use `runpane panels create` for reviewer/helper tabs inside an existing Pane that should share that Pane's worktree.",
4579
+ "",
4580
+ "Typical workflow: register the saved base repository once; create one Pane (Pane session) per feature/PR; use panels/tabs inside that Pane for helper or reviewer agents that should share the worktree; archive the Pane after the PR is done to remove it from active Panes and clean up its managed worktree when applicable.",
4581
+ "",
4582
+ "Skill routing reference: when the user says `discussion`, `plan`, `simple-plan`, `create-plan`, or `implement`, or asks for the behavior those words imply, treat three references as peer context: Pane's local skill cache under `<PANE_DIR>/skills/`, the Pane Chat orchestrator handoff at `<PANE_DIR>/skills/pane-chat/runpane-orchestrator.md` when present, and the [workflow map](https://github.com/dcouple/skills/raw/main/docs/readme-workflow-map.png).",
4583
+ "Use those peer references together to choose the phase: discuss/investigate until the work is clear enough to delegate, then ticket/plan/implement/review/PR-test/teach-back as appropriate. The orchestrator and workflow map may point to different skills; reconcile them with the user's request instead of hardcoding a skill list or treating one reference as subordinate.",
4584
+ "For the Pane implementation source of truth for where the skill cache, cached workflow assets, and Pane Chat bootstrap live, reference [PR #291](https://github.com/dcouple/Pane/pull/291): `main/src/services/skillCacheManager.ts` owns `<PANE_DIR>/skills/`, `.sources/dcouple-skills`, and `pane-chat/runpane-orchestrator.md`; `main/src/services/paneChatManager.ts` owns the tiny bootstrap prompt that tells the selected Pane Chat agent to read that guide.",
4585
+ "Use GitHub reads against the [Parsa skills folder](https://github.com/dcouple/skills/tree/main/parsa) only to inspect or refresh referenced skill files; do not clone/install the repo unless the user asks.",
4586
+ "Do not hardcode a specific assistant brand in workflow guidance. Use the Pane agent or custom tool command the user selected, and use `runpane agents doctor --agent <agent> --repo <selector> --json` only when checking a built-in agent template.",
4497
4587
  "",
4498
4588
  "Start with `runpane doctor --json` before taking Pane actions. Use it to understand wrapper/runtime details, daemon reachability, and the next safe commands.",
4499
4589
  "",
@@ -4501,22 +4591,23 @@ exports.RUNPANE_CONTRACT = {
4501
4591
  "",
4502
4592
  "Use `runpane agent-context --json` for full Pane CLI context. Use `runpane agent-context --command \"panels wait\" --json` or another command name for detailed schema only when needed.",
4503
4593
  "",
4504
- "Default to context-safe validation: after creating panes or sending terminal input, run `runpane panels wait` or `runpane panels screen` before reporting success. Prefer `runpane panels submit` for normal text plus Enter; use `runpane panels input` only for exact bytes such as Ctrl-C or escape sequences.",
4594
+ "Default to context-safe validation: after creating Panes or sending terminal input, run `runpane panels wait` or `runpane panels screen` before reporting success. Prefer `runpane panels submit` for normal text plus Enter; use `runpane panels input` only for exact bytes such as Ctrl-C or escape sequences.",
4505
4595
  "",
4506
4596
  "Common commands:",
4507
4597
  "- `runpane doctor --json`",
4508
4598
  "- `runpane agent-context --json`",
4509
4599
  "- `runpane repos list --json`",
4510
4600
  "- `runpane repos add --path <repo> --yes --json`",
4511
- "- `runpane agents doctor --agent codex --repo active --json`",
4512
- "- `runpane panes create --repo active --name <name> --agent codex --prompt \"<task>\" --wait-ready --yes --json`",
4601
+ "- `runpane agents doctor --agent <agent> --repo active --json`",
4602
+ "- `runpane panes create --repo active --name <name> --agent <agent> --prompt \"<task>\" --source agent --no-focus --wait-ready --yes --json`",
4603
+ "- `runpane panels create --pane <pane-id> --agent <agent> --source agent --no-focus --wait-ready --yes --json`",
4513
4604
  "- `runpane panels list --pane <pane-id> --json`",
4514
4605
  "- `runpane panels screen --panel <panel-id> --limit 80 --json`",
4515
4606
  "- `runpane panels wait --panel <panel-id> --for ready --timeout-ms 30000 --json`",
4516
4607
  "- `runpane panels submit --panel <panel-id> --text \"<answer>\" --yes --json`",
4517
4608
  "- `runpane panels input --panel <panel-id> --input-file <path|-> --yes --json`",
4518
4609
  "",
4519
- "WSL note: if `runpane doctor --json` cannot find `/tmp/pane-daemon.../daemon.sock` or `runpane` resolves to a broken Windows shim, Pane may be running on Windows. Try `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane doctor --json'`, then create panes through the same PowerShell form using the saved WSL repo name or id. Use `runpane agents doctor --agent codex --repo <selector> --json` to diagnose the repo environment Pane will actually use."
4610
+ "WSL note: if `runpane doctor --json` cannot find `/tmp/pane-daemon.../daemon.sock` or `runpane` resolves to a broken Windows shim, Pane may be running on Windows. Try `powershell.exe -NoProfile -Command 'Set-Location $env:TEMP; runpane doctor --json'`, then create Panes through the same PowerShell form using the saved WSL repo name or id. Use `runpane agents doctor --agent <agent> --repo <selector> --json` to diagnose the repo environment Pane will actually use."
4520
4611
  ]
4521
4612
  }
4522
4613
  };