Skip to content

fix: mark live sessions run by an app as not switchable - #171

Merged
brtkwr merged 1 commit into
mainfrom
feat/hosted-sessions
Oct 30, 2026
Merged

brtkwr merged 1 commit into
mainfrom
feat/hosted-sessions

Conversation

@brtkwr

@brtkwr brtkwr commented Oct 30, 2026

Copy link
Copy Markdown
Collaborator

Live sessions started by T3 Code (or any app that runs claude without a terminal) looked like every other open session. Enter on one failed with "terminal wasn't found", and auto-focus tried to switch to them too.

  • Detection: on the live tick, ccs asks ps once per process for its terminal. With none (tty ??), it walks up the parent processes to the first macOS .app bundle and uses its name (T3 Code (Beta)). On this machine, 12 of the 13 live sessions were T3 Code's.
  • List: these sessions show a hollow ○ instead of ● (? still shows when they wait on you), and in T3 Code (Beta) on the grey row.
  • Enter: shows "Runs in T3 Code (Beta), not a terminal: open it there" instead of trying, and never resumes a second copy. ^S (message over its socket) and ^F (fork) still work.
  • Auto-focus: skips them and logs why.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QUnP8jVL2NG9cWmohJTyun

A claude started by an app such as T3 Code has no terminal, so ccs can't
switch to its tab. Such sessions now show a hollow ○ and "in <app>" on
the grey row; Enter says to open it there instead of failing to find a
tab, and auto-focus skips them. Messaging and forking still work.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QUnP8jVL2NG9cWmohJTyun
@brtkwr
brtkwr enabled auto-merge October 30, 2026 09:16
@brtkwr
brtkwr merged commit f61edab into main Oct 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant