What happens
Opening Session Options on a running Claude session lands on Summary. The rail lists only Session and Summary: the Respawn and Ralph / Todo entries are hidden, and so is every Claude-only control on them (auto-resume on a usage limit, the respawn loop, Ralph). A Codex session looks the same, which is correct for Codex.
Cause
#476 (0a52a99c) gave the stock claude registry entry kind: 'agent'. isExternalCliRunMode() in session-ui.js treats any registry entry with kind === 'agent' as an external CLI, and openSessionOptions() uses it to choose the starting tab, hide the Respawn and Ralph rail items and hide every [data-claude-only] element. In the browser console on 1.35.0:
isExternalCliRunMode('claude') // true
registryCliById('claude').kind // 'agent'
The server's own isExternalCliMode() reads capabilities.external, which is false for claude, so only the browser gets this wrong.
Steps
- Start a Claude session.
- Open its Session Options (gear on the tab).
- It opens on Summary, and Respawn and Ralph / Todo are missing from the rail.
Environment
- Codeman 1.35.0 (the code involved is unchanged since 1.33.0), git clone install, systemd user unit
- Ubuntu 22.04 on WSL2
- Claude Code 2.1.280
- Chromium at a desktop viewport. The bug is in page logic, so it should not depend on the browser.
I have a fix ready and will open a PR for it.
What happens
Opening Session Options on a running Claude session lands on Summary. The rail lists only Session and Summary: the Respawn and Ralph / Todo entries are hidden, and so is every Claude-only control on them (auto-resume on a usage limit, the respawn loop, Ralph). A Codex session looks the same, which is correct for Codex.
Cause
#476 (
0a52a99c) gave the stockclauderegistry entrykind: 'agent'.isExternalCliRunMode()insession-ui.jstreats any registry entry withkind === 'agent'as an external CLI, andopenSessionOptions()uses it to choose the starting tab, hide the Respawn and Ralph rail items and hide every[data-claude-only]element. In the browser console on 1.35.0:The server's own
isExternalCliMode()readscapabilities.external, which isfalsefor claude, so only the browser gets this wrong.Steps
Environment
I have a fix ready and will open a PR for it.