Skip to content

Troubleshooting

cctabs exits with "no longer supports Wave Terminal"

Wave Terminal was a supported backend through 0.4.x. Support was withdrawn in 0.5.0 and the adapter has been removed, so every command now exits with a message pointing at Tabby.

The backend had degraded to the point where tabs would open but the Claude session inside them often never started — a failure that looked like a cctabs bug, took real effort to diagnose, and only ever affected the Wave path. Tabby is where the work goes now.

Moving to Tabby

Your conversations are not tied to the terminal — Claude Code stores them in ~/.claude/projects. Nothing was lost when Wave stopped working.

bash
brew install --cask tabby

Then, from inside a Tabby tab:

bash
cctabs install-tabby-plugin   # installs the companion plugin, restarts Tabby
cctabs restore                # reopens your sessions by name

cctabs doctor still runs under Wave — it won't manage tabs, but it will confirm what it detected and what to do about it.

If you were relying on cctabs doctor --fix to clean up Wave's orphan-tabid database bug, that flag is gone too; it only ever repaired Wave's SQLite database. The SQL for a manual repair is preserved in the 0.4.x docs history and in notes/waveterm-blockslist-orphan-tabid.md in the repo.

Tabby: cctabs sessions exits with "Tabby plugin GET /api/tabs failed"

cctabs running in Tabby talks to the tabby-cctabs plugin over HTTP on 127.0.0.1:3300. If the plugin isn't installed or isn't running, every cctabs command fails.

Checks, in order:

  1. Is the plugin installed? Tabby → Settings → Plugins. You should see "cctabs" in the installed list. If not, install it from the plugin manager (search "cctabs") or sideload — see tabby-plugin/README.md.
  2. Is Tabby actually running? The plugin's HTTP server only runs while Tabby itself is open.
  3. Is the port reachable?
    bash
    curl -sS http://127.0.0.1:3300/api/health
    # → {"ok":true,"version":"0.1.0"}
  4. Did you change the port? Override on the cctabs side with CCTABS_TABBY_PORT=3301 cctabs sessions (and match the host with CCTABS_TABBY_HOST= if you bound to something other than loopback).

Tabby: cctabs sessions works but the current tab isn't marked "(current)"

cctabs identifies the tab it's running in by walking its own process.pid → ppid → … chain and asking the plugin which tab owns any of those PIDs. If none match, cctabs falls back to "no current tab known".

Common causes:

  • You started the cctabs process outside any Tabby tab (e.g. SSH'd into the box from elsewhere, or reattached to a tmux/screen session that pre- dated the current Tabby tab). The PID chain genuinely doesn't lead back to a Tabby-owned shell.
  • You're on a platform the plugin doesn't index PIDs on yet. macOS and Linux are supported via session.getChildProcesses(); Windows is best- effort.
  • ps -o ppid= -p <pid> doesn't behave as expected on your shell. Verify it returns just a number for your PID:
    bash
    ps -o ppid= -p $$

Tabby: cctabs new opens a tab but the title isn't set

The plugin's POST /api/tabs/new returns immediately once Tabby's AppService.openNewTabRaw has registered the tab — the tab's shell may still be initializing. cctabs's renameTab follow-up usually wins, but if the title flickers, increase the post-spawn delay in open-session.ts or report a bug with steps to reproduce.

Other issues

If cctabs sessions returns confusing data after a restart but cctabs doctor reports a clean environment, see Session Workflows → Restoring after a restart.

Released under the MIT License.