Skip to content

Control-center crash when not opened from 1st repo #22

Description

@leowmjw

Details below; let me know if anything not clear.

Steps to reproduce:

  • Go to a checked out repo folder - repoA
  • Start 3 instances: par start --open gemini; par start --open amp; ...
  • Start control-center; confirms it works
  • Go to another checked out repo folder - repoB
  • Start 1 instance: par start --open gr-gemini
  • Start control-center; unable to find window --> crash!

Full trace below:

$  go-rigid git:(par) par control-center
Updating existing control center 'control-center' with current sessions
Command failed: tmux new-window -t control-center -n stakpak-agent-gemini -c /home/<user>/.local/share/par/worktrees/79b0da8d/gemini

can't find window: control-center
╭─────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────╮
│ /home/<user>/.local/share/uv/tools/par-cli/lib/python3.13/site-packages/par/cli.py:199 in control_center                   │
│                                                                                                                          │
│   196 │   Create a new 'control-center' tmux session with separate windows for each par sessio                           │
│   197 │   Must be run from outside tmux. Shows all sessions and workspaces globally.                                     │
│   198 │   """                                                                                                            │
│ ❱ 199 │   core.open_control_center()                                                                                     │
│   200                                                                                                                    │
│   201                                                                                                                    │
│   202 # Workspace commands                                                                                               │
│                                                                                                                          │
│ /home/<user>/.local/share/uv/tools/par-cli/lib/python3.13/site-packages/par/core.py:570 in open_control_center             │
│                                                                                                                          │
│   567 │   │   │   │   "type": "session"                                                                                  │
│   568 │   │   │   })                                                                                                     │
│   569 │                                                                                                                  │
│ ❱ 570 │   operations.open_control_center(active_contexts)                                                                │
│   571                                                                                                                    │
│                                                                                                                          │
│ ╭───────────────────────────────────────────────── locals ─────────────────────────────────────────────────╮             │
│ │   active_contexts = [                                                                                    │             │
│ │                     │   {                                                                                │             │
│ │                     │   │   'name': 'stakpak-agent-gemini',                                              │             │
│ │                     │   │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/gemini',             │             │
│ │                     │   │   'type': 'session'                                                            │             │
│ │                     │   },                                                                               │             │
│ │                     │   {                                                                                │             │
│ │                     │   │   'name': 'stakpak-agent-claude',                                              │             │
│ │                     │   │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/claude',             │             │
│ │                     │   │   'type': 'session'                                                            │             │
│ │                     │   },                                                                               │             │
│ │                     │   {                                                                                │             │
│ │                     │   │   'name': 'stakpak-agent-amp',                                                 │             │
│ │                     │   │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/amp',                │             │
│ │                     │   │   'type': 'session'                                                            │             │
│ │                     │   },                                                                               │             │
│ │                     │   {                                                                                │             │
│ │                     │   │   'name': 'go-rigid-gr-gemini',                                                │             │
│ │                     │   │   'path': '/home/<user>/.local/share/par/worktrees/43deee35/gr-gemini',          │             │
│ │                     │   │   'type': 'session'                                                            │             │
│ │                     │   }                                                                                │             │
│ │                     ]                                                                                    │             │
│ │         all_repos = {'go-rigid', 'stakpak-agent'}                                                        │             │
│ │              data = {                                                                                    │             │
│ │                     │   'label': 'gr-gemini',                                                            │             │
│ │                     │   'repository_path': '/home/<user>/GOMOD/go-rigid',                                  │             │
│ │                     │   'repository_name': 'go-rigid',                                                   │             │
│ │                     │   'worktree_path': '/home/<user>/.local/share/par/worktrees/43deee35/gr-gemini',     │             │
│ │                     │   'tmux_session_name': 'par-go-rigid-43de-gr-gemini',                              │             │
│ │                     │   'branch_name': 'gr-gemini',                                                      │             │
│ │                     │   'created_at': '2025-11-03T05:18:17.758351',                                      │             │
│ │                     │   'session_type': 'session'                                                        │             │
│ │                     }                                                                                    │             │
│ │ include_repo_name = True                                                                                 │             │
│ │             label = 'gr-gemini'                                                                          │             │
│ │              name = 'go-rigid-gr-gemini'                                                                 │             │
│ │         repo_name = 'go-rigid'                                                                           │             │
│ │      session_type = 'session'                                                                            │             │
│ │          sessions = {                                                                                    │             │
│ │                     │   'gemini': {                                                                      │             │
│ │                     │   │   'label': 'gemini',                                                           │             │
│ │                     │   │   'repository_path': '/home/<user>/RUST/stakpak-agent',                          │             │
│ │                     │   │   'repository_name': 'stakpak-agent',                                          │             │
│ │                     │   │   'worktree_path': '/home/<user>/.local/share/par/worktrees/79b0da8d/gemini',    │             │
│ │                     │   │   'tmux_session_name': 'par-stakpak-agent-79b0-gemini',                        │             │
│ │                     │   │   'branch_name': 'gemini',                                                     │             │
│ │                     │   │   'created_at': '2025-11-02T11:40:19.392975',                                  │             │
│ │                     │   │   'session_type': 'session'                                                    │             │
│ │                     │   },                                                                               │             │
│ │                     │   'claude': {                                                                      │             │
│ │                     │   │   'label': 'claude',                                                           │             │
│ │                     │   │   'repository_path': '/home/<user>/RUST/stakpak-agent',                          │             │
│ │                     │   │   'repository_name': 'stakpak-agent',                                          │             │
│ │                     │   │   'worktree_path': '/home/<user>/.local/share/par/worktrees/79b0da8d/claude',    │             │
│ │                     │   │   'tmux_session_name': 'par-stakpak-agent-79b0-claude',                        │             │
│ │                     │   │   'branch_name': 'claude',                                                     │             │
│ │                     │   │   'created_at': '2025-11-02T11:44:43.673882',                                  │             │
│ │                     │   │   'session_type': 'session'                                                    │             │
│ │                     │   },                                                                               │             │
│ │                     │   'amp': {                                                                         │             │
│ │                     │   │   'label': 'amp',                                                              │             │
│ │                     │   │   'repository_path': '/home/<user>/RUST/stakpak-agent',                          │             │
│ │                     │   │   'repository_name': 'stakpak-agent',                                          │             │
│ │                     │   │   'worktree_path': '/home/<user>/.local/share/par/worktrees/79b0da8d/amp',       │             │
│ │                     │   │   'tmux_session_name': 'par-stakpak-agent-79b0-amp',                           │             │
│ │                     │   │   'branch_name': 'amp',                                                        │             │
│ │                     │   │   'created_at': '2025-11-02T11:47:50.236557',                                  │             │
│ │                     │   │   'session_type': 'session'                                                    │             │
│ │                     │   },                                                                               │             │
│ │                     │   'gr-gemini': {                                                                   │             │
│ │                     │   │   'label': 'gr-gemini',                                                        │             │
│ │                     │   │   'repository_path': '/home/<user>/GOMOD/go-rigid',                              │             │
│ │                     │   │   'repository_name': 'go-rigid',                                               │             │
│ │                     │   │   'worktree_path': '/home/<user>/.local/share/par/worktrees/43deee35/gr-gemini', │             │
│ │                     │   │   'tmux_session_name': 'par-go-rigid-43de-gr-gemini',                          │             │
│ │                     │   │   'branch_name': 'gr-gemini',                                                  │             │
│ │                     │   │   'created_at': '2025-11-03T05:18:17.758351',                                  │             │
│ │                     │   │   'session_type': 'session'                                                    │             │
│ │                     │   }                                                                                │             │
│ │                     }                                                                                    │             │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯             │
│                                                                                                                          │
│ /home/<user>/.local/share/uv/tools/par-cli/lib/python3.13/site-packages/par/operations.py:269 in open_control_center       │
│                                                                                                                          │
│   266 │   │   typer.secho(                                                                                               │
│   267 │   │   │   f"Updating existing control center '{cc_session_name}' with current sessions                           │
│   268 │   │   )                                                                                                          │
│ ❱ 269 │   │   if _update_control_center_windows(cc_session_name, contexts_data):                                         │
│   270 │   │   │   open_tmux_session(cc_session_name)                                                                     │
│   271 │   │   │   return                                                                                                 │
│   272 │   │   # If update failed, fall through to recreate the session                                                   │
│                                                                                                                          │
│ ╭─────────────────────────────────────────── locals ────────────────────────────────────────────╮                        │
│ │ cc_session_name = 'control-center'                                                            │                        │
│ │   contexts_data = [                                                                           │                        │
│ │                   │   {                                                                       │                        │
│ │                   │   │   'name': 'stakpak-agent-gemini',                                     │                        │
│ │                   │   │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/gemini',    │                        │
│ │                   │   │   'type': 'session'                                                   │                        │
│ │                   │   },                                                                      │                        │
│ │                   │   {                                                                       │                        │
│ │                   │   │   'name': 'stakpak-agent-claude',                                     │                        │
│ │                   │   │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/claude',    │                        │
│ │                   │   │   'type': 'session'                                                   │                        │
│ │                   │   },                                                                      │                        │
│ │                   │   {                                                                       │                        │
│ │                   │   │   'name': 'stakpak-agent-amp',                                        │                        │
│ │                   │   │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/amp',       │                        │
│ │                   │   │   'type': 'session'                                                   │                        │
│ │                   │   },                                                                      │                        │
│ │                   │   {                                                                       │                        │
│ │                   │   │   'name': 'go-rigid-gr-gemini',                                       │                        │
│ │                   │   │   'path': '/home/<user>/.local/share/par/worktrees/43deee35/gr-gemini', │                        │
│ │                   │   │   'type': 'session'                                                   │                        │
│ │                   │   }                                                                       │                        │
│ │                   ]                                                                           │                        │
│ ╰───────────────────────────────────────────────────────────────────────────────────────────────╯                        │
│                                                                                                                          │
│ /home/<user>/.local/share/uv/tools/par-cli/lib/python3.13/site-packages/par/operations.py:234 in                           │
│ _update_control_center_windows                                                                                           │
│                                                                                                                          │
│   231 │   for i, context in enumerate(contexts_data):                                                                    │
│   232 │   │   if context["name"] not in existing_names:                                                                  │
│   233 │   │   │   # Create new window                                                                                    │
│ ❱ 234 │   │   │   run_cmd([                                                                                              │
│   235 │   │   │   │   "tmux", "new-window", "-t", session_name,                                                          │
│   236 │   │   │   │   "-n", context["name"], "-c", context["path"]                                                       │
│   237 │   │   │   ])                                                                                                     │
│                                                                                                                          │
│ ╭─────────────────────────────────────────────────────── locals ───────────────────────────────────────────────────────╮ │
│ │          context = {                                                                                                 │ │
│ │                    │   'name': 'stakpak-agent-gemini',                                                               │ │
│ │                    │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/gemini',                              │ │
│ │                    │   'type': 'session'                                                                             │ │
│ │                    }                                                                                                 │ │
│ │    contexts_data = [                                                                                                 │ │
│ │                    │   {                                                                                             │ │
│ │                    │   │   'name': 'stakpak-agent-gemini',                                                           │ │
│ │                    │   │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/gemini',                          │ │
│ │                    │   │   'type': 'session'                                                                         │ │
│ │                    │   },                                                                                            │ │
│ │                    │   {                                                                                             │ │
│ │                    │   │   'name': 'stakpak-agent-claude',                                                           │ │
│ │                    │   │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/claude',                          │ │
│ │                    │   │   'type': 'session'                                                                         │ │
│ │                    │   },                                                                                            │ │
│ │                    │   {                                                                                             │ │
│ │                    │   │   'name': 'stakpak-agent-amp',                                                              │ │
│ │                    │   │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/amp',                             │ │
│ │                    │   │   'type': 'session'                                                                         │ │
│ │                    │   },                                                                                            │ │
│ │                    │   {                                                                                             │ │
│ │                    │   │   'name': 'go-rigid-gr-gemini',                                                             │ │
│ │                    │   │   'path': '/home/<user>/.local/share/par/worktrees/43deee35/gr-gemini',                       │ │
│ │                    │   │   'type': 'session'                                                                         │ │
│ │                    │   }                                                                                             │ │
│ │                    ]                                                                                                 │ │
│ │  current_windows = {'gemini': 0, 'claude': 1, 'amp': 2}                                                              │ │
│ │   existing_names = {'gemini', 'amp', 'claude'}                                                                       │ │
│ │ expected_windows = {                                                                                                 │ │
│ │                    │   'stakpak-agent-gemini': {                                                                     │ │
│ │                    │   │   'name': 'stakpak-agent-gemini',                                                           │ │
│ │                    │   │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/gemini',                          │ │
│ │                    │   │   'type': 'session'                                                                         │ │
│ │                    │   },                                                                                            │ │
│ │                    │   'stakpak-agent-claude': {                                                                     │ │
│ │                    │   │   'name': 'stakpak-agent-claude',                                                           │ │
│ │                    │   │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/claude',                          │ │
│ │                    │   │   'type': 'session'                                                                         │ │
│ │                    │   },                                                                                            │ │
│ │                    │   'stakpak-agent-amp': {                                                                        │ │
│ │                    │   │   'name': 'stakpak-agent-amp',                                                              │ │
│ │                    │   │   'path': '/home/<user>/.local/share/par/worktrees/79b0da8d/amp',                             │ │
│ │                    │   │   'type': 'session'                                                                         │ │
│ │                    │   },                                                                                            │ │
│ │                    │   'go-rigid-gr-gemini': {                                                                       │ │
│ │                    │   │   'name': 'go-rigid-gr-gemini',                                                             │ │
│ │                    │   │   'path': '/home/<user>/.local/share/par/worktrees/43deee35/gr-gemini',                       │ │
│ │                    │   │   'type': 'session'                                                                         │ │
│ │                    │   }                                                                                             │ │
│ │                    }                                                                                                 │ │
│ │                i = 0                                                                                                 │ │
│ │            index = '2'                                                                                               │ │
│ │             line = '2:amp'                                                                                           │ │
│ │             name = 'amp'                                                                                             │ │
│ │           result = CompletedProcess(args=['tmux', 'list-windows', '-t', 'control-center', '-F',                      │ │
│ │                    '#{window_index}:#{window_name}'], returncode=0, stdout='0:gemini\n1:claude\n2:amp\n', stderr='') │ │
│ │     session_name = 'control-center'                                                                                  │ │
│ │     window_index = 2                                                                                                 │ │
│ │      window_name = 'amp'                                                                                             │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                                          │
│ /home/<user>/.local/share/uv/tools/par-cli/lib/python3.13/site-packages/par/utils.py:21 in run_cmd                         │
│                                                                                                                          │
│    18 ) -> subprocess.CompletedProcess:                                                                                  │
│    19 │   """Run a shell command with simplified error handling."""                                                      │
│    20 │   try:                                                                                                           │
│ ❱  21 │   │   result = subprocess.run(                                                                                   │
│    22 │   │   │   command,                                                                                               │
│    23 │   │   │   cwd=str(cwd) if cwd else None,                                                                         │
│    24 │   │   │   capture_output=capture,                                                                                │
│                                                                                                                          │
│ ╭─────────────────────────────────── locals ────────────────────────────────────╮                                        │
│ │         capture = True                                                        │                                        │
│ │           check = True                                                        │                                        │
│ │         command = [                                                           │                                        │
│ │                   │   'tmux',                                                 │                                        │
│ │                   │   'new-window',                                           │                                        │
│ │                   │   '-t',                                                   │                                        │
│ │                   │   'control-center',                                       │                                        │
│ │                   │   '-n',                                                   │                                        │
│ │                   │   'stakpak-agent-gemini',                                 │                                        │
│ │                   │   '-c',                                                   │                                        │
│ │                   │   '/home/<user>/.local/share/par/worktrees/79b0da8d/gemini' │                                        │
│ │                   ]                                                           │                                        │
│ │             cwd = None                                                        │                                        │
│ │ suppress_output = False                                                       │                                        │
│ ╰───────────────────────────────────────────────────────────────────────────────╯                                        │
│                                                                                                                          │
│ /usr/lib/python3.13/subprocess.py:577 in run                                                                             │
│                                                                                                                          │
│    574 │   │   │   raise                                                                                                 │
│    575 │   │   retcode = process.poll()                                                                                  │
│    576 │   │   if check and retcode:                                                                                     │
│ ❱  577 │   │   │   raise CalledProcessError(retcode, process.args,                                                       │
│    578 │   │   │   │   │   │   │   │   │    output=stdout, stderr=stderr)                                                │
│    579 │   return CompletedProcess(process.args, retcode, stdout, stderr)                                                │
│    580                                                                                                                   │
│                                                                                                                          │
│ ╭─────────────────────────────────────────────────────── locals ───────────────────────────────────────────────────────╮ │
│ │ capture_output = True                                                                                                │ │
│ │          check = True                                                                                                │ │
│ │          input = None                                                                                                │ │
│ │         kwargs = {                                                                                                   │ │
│ │                  │   'cwd': None,                                                                                    │ │
│ │                  │   'text': True,                                                                                   │ │
│ │                  │   'env': {                                                                                        │ │
│ │                  │   │   'LANG': 'en_US.UTF-8',                                                                      │ │
│ │                  │   │   'TERMINFO': '/snap/ghostty/current/share/terminfo',                                         │ │
│ │                  │   │   'USER': '<user>',                                                                             │ │
│ │                  │   │   'LOGNAME': '<user>,                                                                          │ │
│ │                  │   │   'HOME': '/home/<user>',                                                                       │ │
│ │                  │   │   'PATH':                                                                                     │ │
│ │                  '/home/<user>/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/b'+40,              │ │
│ │                  │   │   'SHELL': '/usr/bin/zsh',                                                                    │ │
│ │                  │   │   'TERM': 'xterm-ghostty',                                                                    │ │
│ │                  │   │   'XDG_SESSION_ID': '811',                                                                    │ │
│ │                  │   │   'XDG_RUNTIME_DIR': '/run/user/1000',                                                        │ │
│ │                  │   │   ... +15                                                                                     │ │
│ │                  │   },                                                                                              │ │
│ │                  │   'stdout': -1,                                                                                   │ │
│ │                  │   'stderr': -1                                                                                    │ │
│ │                  }                                                                                                   │ │
│ │      popenargs = (                                                                                                   │ │
│ │                  │   [                                                                                               │ │
│ │                  │   │   'tmux',                                                                                     │ │
│ │                  │   │   'new-window',                                                                               │ │
│ │                  │   │   '-t',                                                                                       │ │
│ │                  │   │   'control-center',                                                                           │ │
│ │                  │   │   '-n',                                                                                       │ │
│ │                  │   │   'stakpak-agent-gemini',                                                                     │ │
│ │                  │   │   '-c',                                                                                       │ │
│ │                  │   │   '/home/<user>/.local/share/par/worktrees/79b0da8d/gemini'                                     │ │
│ │                  │   ],                                                                                              │ │
│ │                  )                                                                                                   │ │
│ │        process = <Popen: returncode: 1 args: ['tmux', 'new-window', '-t', 'control-center', '...>                    │ │
│ │        retcode = 1                                                                                                   │ │
│ │         stderr = "can't find window: control-center\n"                                                               │ │
│ │         stdout = ''                                                                                                  │ │
│ │        timeout = None                                                                                                │ │
│ 
========================================
CalledProcessError: Command '['tmux', 'new-window', '-t', 'control-center', '-n', 'stakpak-agent-gemini', '-c',
'/home/<user>/.local/share/par/worktrees/79b0da8d/gemini']' returned non-zero exit status 1.


$  go-rigid git:(par) par ls
                                        Par Development Contexts (Global)
┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ Label     ┃ Type    ┃ Repository/Workspace ┃ Tmux Session                       ┃ Branch    ┃ Created          ┃
┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ amp       │ Session │ stakpak-agent (RUST) │ par-stakpak-agent-79b0-amp (✅)    │ amp       │ 2025-11-02T11:47 │
│ claude    │ Session │ stakpak-agent (RUST) │ par-stakpak-agent-79b0-claude (✅) │ claude    │ 2025-11-02T11:44 │
│ gemini    │ Session │ stakpak-agent (RUST) │ par-stakpak-agent-79b0-gemini (✅) │ gemini    │ 2025-11-02T11:40 │
│ gr-gemini │ Session │ go-rigid (GOMOD)     │ par-go-rigid-43de-gr-gemini (✅)   │ gr-gemini │ 2025-11-03T05:18 │
└───────────┴─────────┴──────────────────────┴────────────────────────────────────┴───────────┴──────────────────┘

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions