Skip to content

Pane reports ready and accepts input but never launches the agent #583

Description

@AnTxXx

RunPane watcher failure report

Report title

Pane reports ready and accepts input but never launches the agent

Failure evidence

First: thank you for Pane. It has been genuinely excellent to work in — I orchestrate a lot of parallel agent work through it and it is usually invisible in the good way. This report is one narrow failure mode, offered in that spirit.

## Summary

For one repository, every pane I created reported healthy and accepted input, but **no agent process was ever launched behind it**. Panes on other repositories on the same daemon, created minutes apart, worked normally.

The failure is silent: every signal RunPane exposes says the pane is ready.

## What I observed

Across three panes and four CLI panels on the affected repository:

- `runpane panes create --wait-ready` returned `matched: true, timedOut: false`
- `runpane panels wait --panel <id> --for ready` returned `matched: true`
- `runpane panels screen` reported `initialized: true`, `isCliReady: true`, `isCliPanel: true`, `agentType: "claude"`
- `runpane panels submit --input-file` returned `ok: true` with the correct byte count
- `runpane panels submit-composer --strategy enter` returned `ok: true`, `verifiedSubmitted: false`, `verification: "unverifiable"`
- `activityStatus` stayed `idle` indefinitely, or flipped to `active` for a few seconds and back without producing anything

## The decisive evidence

The agent CLI writes a per-working-directory project directory on first run. After three panes and four panels on the affected repository, **no such directory existed for any of its worktrees**. Every other repository I had panes on that day had one.

I then ran the CLI by hand in the exact worktree the pane had created:

```
cd <repo>/worktrees/<pane-worktree>
claude -p "reply with exactly OK"
→ OK   (exit 0)
```

It answered immediately, and *that* run created the project directory the panes never did. So the CLI, the worktree, the checkout, and folder trust were all fine — the agent simply was never started by Pane.

## Control

Two minutes later, on the same daemon and the same session, I sent a one-line probe to a pane on a different repository:

```
runpane panels submit --panel <other-pane> --text "Reply with exactly: ALIVE" --yes
→ activityStatus: active
```

That pane responded normally and did real work for the rest of the session. So this is not daemon-wide, and not a general input-delivery failure.

## What did not fix it

- Sending a bare CR, repeatedly
- Sending the down-arrow + CR sequence used to clear a folder-trust prompt
- A short one-line message, to rule out a large paste being the problem
- Creating a **fresh CLI panel** inside the same pane
- **Archiving the pane and creating a new one** — twice, once with a different pane name and a different worktree path

The last one is the most interesting: a completely new pane, new worktree, new panel, same result.

## Related, possibly the same root cause

The first pane on that repository genuinely did show the agent's folder-trust prompt, which a human cleared from the UI. That is expected. What is not expected is that:

1. `--wait-ready` and `--for ready` both reported ready while that prompt was blocking, and
2. subsequent panes on new worktree paths under the same repository failed the same way *after* trust was granted, with no prompt visible to the human either.

So the trust prompt may be one instance of a broader issue: the readiness signal does not appear to reflect whether an agent process actually exists and is accepting input.

## Suggestion

If `isCliReady` could be derived from the agent process actually being up — or if `panels submit` could report that there is no process behind the panel — this would have been a ten-second diagnosis instead of a long one. `verification: "unverifiable"` was the only hint anything was wrong, and it appears in healthy cases too, so it is not usable as a signal on its own.

## Environment

- Platform: linux/arm64, headless (no DISPLAY), remote daemon over a unix socket
- Daemon reachable, 13 repositories registered
- Agent: claude
- Affected repository: a pnpm/TypeScript monorepo. Its `.claude/` contains only a `launch.json` (a dev-server config) and one rules markdown file — no `settings.json`, no hooks.
- Unaffected repositories in the same session included a Python service and several other TypeScript repos, so it does not look language- or toolchain-specific.

## Also worth knowing, separate issue

Throughout the same session, `runpane panels screen` and `runpane panels output` returned **zero bytes for every panel**, including panels that were demonstrably working, for several hours. `runpane doctor` reported the daemon healthy and `activityStatus` continued to be correct. That is what made the above hard to diagnose — there was no way to see what any pane was showing. `runpane watch --follow` stayed healthy throughout and was the only reliable channel.

Happy to gather anything else useful if it helps narrow either one.

RunPane diagnostics

{
  "source": "npm",
  "wrapper": {
    "runtime": "node",
    "version": "2.4.92",
    "paneDir": "~/.pane_remote",
    "endpoint": {
      "transport": "unix",
      "path": "/tmp/pane-daemon-1008-ce2237ed7aa6d5d8/daemon.sock"
    }
  },
  "platform": {
    "os": "linux",
    "arch": "arm64"
  },
  "release": {
    "ok": false,
    "error": "input.body: expected string"
  },
  "installedPane": {
    "found": true,
    "path": "~/.local/bin/pane",
    "version": "[Polyfill] ReadableStream already available, skipping polyfill\n[PanelManager] Loading panels from database...\n[2520351:0904/125624.340918:ERROR:ui/ozone/platform/x11/ozone_platform_x11.cc:256] Missing X server or $DISPLAY\n[2520351:0904/125624.340946:ERROR:ui/aura/env.cc:246] The platform failed to initialize.  Exiting."
  },
  "daemon": {
    "reachable": true,
    "endpoint": {
      "transport": "unix",
      "path": "/tmp/pane-daemon-1008-ce2237ed7aa6d5d8/daemon.sock"
    },
    "app": {
      "version": "2.4.92",
      "isPackaged": true,
      "platform": "linux",
      "electronVersion": "41.10.3",
      "nodeVersion": "24.18.0"
    }
  },
  "remoteSetup": {
    "ready": true,
    "displayAvailable": false,
    "headlessEnvironmentApplied": true,
    "diagnostics": [
      {
        "code": "PANE_REMOTE_DAEMON_UPDATE_PENDING",
        "severity": "warning",
        "message": "The remote daemon is still running an older or deleted process image, but its launcher can resolve the installed Pane executable on restart."
      }
    ]
  }
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions