Sessions & status
What every status means and where it comes from, how sessions name themselves, switching effort and accounts live, and handing a session to another agent.
Every pane is a session: one CLI process — an agent or a shell — in one project. PaneScale watches each session closely enough to tell you, at any moment, whether it is working, waiting for you or done, and gives it a name that says what it is about.
Status
| Status | Dot | Meaning |
|---|---|---|
| starting | blue | The CLI is booting. You can already type; input is handed over when it is ready |
| working | green, pulsing | The agent is busy with your task — or, for a shell, a command is running (running) |
| waits for you | yellow | The agent asked a question or needs a permission. The pane gets a yellow frame |
| waiting for background work | blue, pulsing | The agent’s turn is over, but it still runs background work such as a shell or sub-agents (“waiting for 1 shell”) |
| done | check mark | The task is finished. A new check mark means it finished while you were elsewhere |
| stopped | grey | You interrupted it with Esc or Ctrl+C |
| error | red | The last request failed (for example a provider error). Hover for the reason |
| ready | grey | Started and idle — nothing has been asked yet, or the session went quiet |
| ended | grey | The process exited normally; the exit code is shown |
| crashed | red | The process exited with an error code |
Working and waiting states show how long they have lasted (“working · 4 min”); results show how long ago they happened (“done · 2 min ago”).
Where status comes from
PaneScale uses the most reliable signal each CLI offers and remembers which one decided:
- Hooks — Claude Code reports through hooks that PaneScale sets up for its own panes: a prompt was submitted, the turn stopped or failed, a permission is needed, the session started or ended.
- The screen — the CLI’s own working indicator (the moving spinner line), questions such as permission prompts or trust dialogs, and the shell prompt at the cursor. This catches what hooks don’t report, such as an interruption with Esc, and covers CLIs without hooks.
- Terminal notifications — OSC 9 and OSC 777 messages that Codex and other CLIs send when they finish or need approval.
- Output and input — only when none of the above is available: output followed by 2.5 seconds of silence counts as done.
A few rules keep the status honest:
- Silence is never “done”. A session that just went quiet is ready, not done. Done needs a real end of work.
- Redraws aren’t work. Agents redraw their screen on focus, mouse wheel or status line updates. For CLIs with a spinner, only a moving spinner counts as work.
- Interrupted is not finished. If work ends within ten seconds after you pressed Esc or Ctrl+C, the result is stopped.
- Only real work is news. A finish counts as new — check mark, frame, notification — only after at least five seconds of work.
The dashboard shows the source of every status when you hover a session.
Limited status
If a Claude Code pane sends no hook events within 30 seconds of starting — for example because your own settings disable hooks — its header shows limited. Status then comes only from the screen, output and the process exit. Everything else keeps working.
New results
When a session finishes while you aren’t looking at it, its frame stays highlighted, the sidebar shows a check mark with a count next to the project, and a notification appears. The mark disappears as soon as you click into the pane with the PaneScale window active.
Session names
Every session gets a name that tells you what it is about — in the pane header, the sidebar, the dashboard, notifications and the command palette.
| Stage | Example | Where it comes from |
|---|---|---|
| Default | Claude 2, PowerShell 1 | Given at start, unique across the app |
| From your first task | Fix the login redirect | The first prompt you send (Claude Code reports it via a hook; for other agents PaneScale reads the line you typed). Greetings and filler such as “hey, can you please” are removed |
| From the topic | Refactor auth middleware | Claude Code names the topic of a session in its terminal title; the first meaningful title becomes the name |
| From the first command | npm run dev | For shells: the first real command — trivial ones like cd, ls or git status don’t count |
| Preset | Claude 1 → Codex, SSH · build-server | Given by PaneScale for handoffs, sign-in panes and SSH terminals |
| Your own | Payments | You renamed it |
A higher stage is never overwritten automatically. Slash commands and system messages never become names. If two sessions would get the same name, the second one gets a number.
Everything that comes after the name — later prompts, new terminal titles, the next shell command — appears next to it as doing now.
Rename a session
Double-click the name in the pane header, press F2 or choose Rename in the pane menu. Enter saves, Esc cancels. Leave the field empty to go back to the automatic name. Use automatic name in the pane menu does the same. A restart keeps the name.
Effort, live
Claude Code panes show their effort level in the header. Click it to switch between Low, Medium, High, XHigh and Max for this session. If Claude is busy or you have text in its input, the change is queued — shown with a small waiting indicator — and applied as soon as Claude is idle and the input is empty.
For other CLIs, the header only shows the effort they were started with. New panes start with the effort set in Settings → Agents & accounts.
Switch the account
Click the account label in the pane header — Default or a profile name — to see the accounts for that CLI. Choosing another one offers two options: Switch & restart restarts this pane with the other account (the running session ends), Open in new pane keeps this one and starts the other account next to it. Manage accounts… opens Settings. See Accounts.
Handoff to another agent
When an agent gets stuck, runs into its limit or you simply want a second opinion, hand the session over:
- Choose Hand off to another agent… in the pane menu.
- Pick the receiving agent. Only installed agents are offered.
- Review the handoff brief. It contains the end of the current session — up to 220 lines — marked as an untrusted record, and asks the new agent to check the code and Git status before it continues.
- Click Hand off.
A new pane opens in the same project, named Claude 1 → Codex, and the brief is pasted in as soon as the new agent is ready. The original session keeps running until you close it.
The Overnight Autopilot does the same automatically when you give it a backup agent, and teammates can hand subtasks to each other.
Claude’s status line
In Claude Code panes, PaneScale fills Claude’s status line with the session’s context usage and your subscription limits — dimmed, yellow from 80 %, red from 95 %. The same data feeds the usage meter live, without a single extra request to the provider. If you or your project already configure a status line of your own, PaneScale leaves it alone.
Restart and reconnect
Restart in the pane menu starts the CLI again in the same cell, with the same name, account and options. Use it when a CLI hangs or after you changed its configuration. For a pane that has ended or crashed, the same entry is called Restart; for a running one, Reconnect (restart).