Skip to content

Troubleshooting

nick3 edited this page May 28, 2026 · 1 revision

Troubleshooting

Symptoms and fixes for the most common failure modes. If you don't find your issue here, open one at https://github.com/mtecnic/clusterspace/issues.


Build / install

node-pty fails to compile on Windows

  • Install Visual Studio Build Tools 2022 with the "Desktop development with C++" workload.
  • Open a fresh terminal after install so PATH picks up the new tooling.
  • Run npm run rebuild explicitly to retry.

node-pty fails to compile on macOS

  • Run xcode-select --install and accept the EULA.
  • Delete node_modules/, run npm install again.

electron-rebuild hangs forever

  • Delete node_modules/ and package-lock.json, reinstall from scratch.

Black window on launch (npm run dev)

  • Vite didn't start cleanly. Check the terminal output for "address in use" — port 5173 conflict.
  • Kill the stray process: lsof -i :5173 (Unix) / netstat -ano | findstr 5173 (Windows).

Terminal panes

Restart button doesn't respawn the pane

  • Was the case in older versions; if you see this, update to the latest release.
  • Workaround: right-click pane → Close pane → recreate.

tmux error "no server running"

  • The remote host doesn't have tmux installed. Either install it (apt install tmux / brew install tmux) or switch the pane to plain SSH via the right-click menu (no tmux wrap).

tmux complains about nested sessions

  • Your shell's .bashrc auto-starts tmux. Guard it: [ -z "$TMUX" ] && tmux attach || tmux.
  • Or use the SSH-and-tmux to attach to the right inner session.

Selection disappears as soon as I let go of the mouse

  • Tmux/vim mouse mode is grabbing the drag. Toggle Disable App Mouse in the pane menu, or hold Shift/Alt while dragging.

Ctrl+C copies my selection instead of SIGINT-ing

  • Was the case in very old versions; current behavior: Ctrl+C always SIGINTs, Ctrl+Shift+C copies. Update.

Ctrl+V pastes garbage characters

  • The remote shell may not support bracketed paste. Disable bracketed-paste in Settings → Terminal.

"Where did my running command go after I switched workspaces?"

  • PTYs are backgrounded, not killed. Switch back to the workspace and your command is still there.
  • If it's not: your PTY may have crashed independently. Check the terminal output for an exit message; click Restart Terminal.

SSH

"Permission denied (publickey)" with key auth

  • Verify the key path in the SSH Server manager is absolute and the key is readable.
  • Test outside ClusterSpace: ssh -i /path/to/key user@host from the terminal.
  • Common cause on Windows: WSL path mismatch. Convert: /mnt/c/Users/you/.ssh/id_ed25519.

Password prompts show up even though I saved a password

  • ClusterSpace injects the password by watching for password: regex. If the server uses a non-standard prompt ("Authentication required:"), the regex misses. Workaround: switch to key auth.

tmux session list doesn't load in the picker

  • The auto-list runs ssh host tmux list-sessions which requires key auth (no second password prompt). Switch to key auth, or use the manual entry field.

Pre-rename remote sessions are gone

  • They're not — the picker shows a Legacy suggestion chip with the old fleet-term-pane-* naming. Click it to attach.
  • Or just ssh host tmux ls directly and pick the name you want from the picker manually.

Browser panes

Page renders white / blank

  • Check DevTools for the embedded webview: right-click pane → Open DevTools. The page console will show JS errors or CORS issues.
  • For Google sign-in or other strict sites, change the user-agent to a stock Chrome string (pane menu → User Agent → presets).

Saved login fill does nothing

  • Make sure the focused input is the username field. Fill flow: type username → Tab → type password. If the page doesn't auto-focus the username, click into it first.
  • Verify the saved credential's origin matches the current page's origin (scheme + host).

Downloads disappear

  • Check the chip rail in the status bar. Completed downloads stay until dismissed.
  • Files go to your OS default downloads folder (~/Downloads/ usually). Look there.

AI provider

HTTP 401 from provider

  • Bad API key. Update in AI-Providers. For Claude / OpenAI, generate a new key in their dashboard.

HTTP 400: "model X does not exist"

  • Typo in the model field. Check the provider's model list (Claude: claude-sonnet-4-5, OpenAI: gpt-4o, etc.).

HTTP 400: "No user query found in messages"

  • Was a regression in early versions where long conversations trimmed the original user message. Fix is in v1.0.1+. Update.
  • If you see it on the current version: reduce conversation length (clear chat) and report it.

Connection refused to local provider

  • Provider isn't running. Start Ollama / LM Studio first. Then in ClusterSpace use Discover to auto-find it.

Provider returns garbage / no tool calls

Vision tool calls fail with "No vision model available"

  • No active provider configured. Set one up first.
  • For separate vision provider, set the visionModel field on the provider. For dual-purpose models (Claude, GPT-4o), leave visionModel blank.

Goal runner

Goal hangs at step ~N with no progress

  • Open the Goal-Dashboard. Look at the critic rail.
  • If you see critic:stuck but the AI keeps repeating: the model isn't accepting the redirect. Either abort manually, or lower criticIntervalSteps so the redirect fires more often.
  • If no critic events fire: critic is disabled (interval = 0) or interval is too high for your goal length. Reduce it.

Goal completes but the success criterion wasn't actually met

  • Check what the AI's claim_complete rationale was (visible in the dashboard step log).
  • For model_question criteria, the judge may be too lenient. Make the question stricter ("Did all of: X, Y, AND Z happen?").
  • For manual criteria: it trusts the rationale by design. Use shell for strictness.

"Wall-clock cap exceeded" — too soon

  • Default is 60 minutes. For long goals, set wallClockMs higher in the create dialog.

Approval modal keeps popping up for every action

  • Goal policy risk ceiling is too low for what the goal needs. Re-create the goal with a higher tier (e.g., network_write instead of write_local), or use Allow for this goal to whitelist a tool mid-run.

UI / Workspace

Window opens off-screen

  • Saved window position is on a monitor you've since removed. ClusterSpace should fall back to the primary monitor automatically; if not, delete clusterspace-window-state.json.

Workspace tab bar shows duplicate workspaces

  • Likely a corrupted clusterspace-workspaces.json. Inspect with jq .; if obviously broken, back it up and delete.

Settings dialog won't scroll

  • Was the case with old .dialog-* class names. Fixed in current versions. Update.

Drag-to-swap doesn't activate

  • Grab the pane label (top strip), not the content area. Browser panes use the title bar; terminal panes use the tab strip area.

Data / state

"Where are my saved logins?"

Restored userData from another machine — saved logins / API keys don't work

  • They're encrypted with the source machine's OS keychain. Won't decrypt elsewhere. Re-enter them on the new machine.

Settings keep reverting

  • Likely you're editing the JSON files while the app is running. electron-store caches in memory and overwrites on save. Quit the app first, edit, relaunch.

Disk space — <userData> is growing

  • Most likely culprit: browser-screenshots/ (vision tool outputs). Wipe manually; ClusterSpace doesn't auto-clean (roadmap).
  • AI memory conversation history can grow too. Use the chat panel history dropdown → delete old ones.

Performance

Lag when typing in many panes simultaneously

  • Broadcast mode fans out keystrokes. Disable it if not needed.
  • xterm WebGL renderer should be fast — if it's not, check if your GPU has hardware acceleration enabled in Chromium (chrome://gpu in DevTools).

AI responses are slow

  • For local models: small model = fast. Try gpt-4o-mini or llama3.1:8b instead of larger ones for chat; reserve the big model for the goal runner main call.
  • For Claude/OpenAI: usually network latency. Check console in DevTools for the request timing.

High memory after long session

  • Check Ctrl+Shift+I → Memory tab. Likely culprits: very long conversation history, many open browser panes, large terminal scrollback.
  • Workaround: close idle panes, clear chat history.

See also

Clone this wiki locally