Troubleshooting
If something's stuck, this page lists the common shapes of problems and what to try first. If none of these match, get in touch: info@sursatech.com.
Sign-in
- Invite link doesn't drop you into the org — finish accepting the invite before signing in. The invite link both authenticates and grants membership; opening another tab first can short-circuit the flow.
- Access denied after signing in — your account isn't a member of the org yet. Ask an admin to add you, or accept a fresh invite.
- Stuck on a loading screen — refresh. If it persists, clear cookies for the app domain and sign in again.
Workspace creation
- Git import fails — confirm your GitHub / GitLab / Bitbucket OAuth connection is still valid in account settings. Re-authorise if the token has expired or scopes have changed.
- Docker Hub import fails for a private image — provide credentials in the import dialog. Sursakit stores them encrypted, scoped to the service.
- Workspace stuck provisioning — open the workspace settings; the provisioning log identifies the failing step. Recreate or contact support if the host is unreachable.
Services & runtimes
- Service won't start — open the runtime logs from the service header. Common causes: missing env var, port collision with another service, base image not pulled.
- Container restarts in a loop — the start command is exiting non-zero. Open a terminal into the service and run the command manually to see the error.
- Preview URL is 502 / 504 — the runtime is up but your service hasn't bound to its port. Check the logs for "listening on" messages.
- "Out of memory" on a service — increase the runtime memory limit in service settings.
Sessions
- Session won't open — its runtime containers may be stopped. Click Run all; if that fails, check the service logs for the failing one.
- Lost work on a session — sessions persist their filesystem; refresh first. If you accidentally discarded changes, the version-control log keeps Jujutsu operations recoverable for a retention window.
Version control
- "Working copy is dirty" when pulling — commit or stash first. Sursakit's UI surfaces both options; the AI-generated commit message helps when you're moving fast.
- Conflict editor shows three-way diff — pick a side per hunk, or edit the merged result directly. Save when every conflict marker is resolved.
Pull requests
- PR not appearing — confirm the push reached the remote. Sursakit fetches PRs on demand; click Refresh on the PR panel.
- Merge button disabled — required reviews, failing checks, or unresolved conflicts. The PR header shows which.
Codex
- Codex says it can't run a service — confirm the service starts manually first. The agent uses the same runtime you do.
- Codex won't use a capability — the relevant skill isn't enabled for the workspace. Toggle it in workspace settings.
- Codex stops mid-run — check the chat thread for the last tool call. Common reasons: hit a credit limit, an external API rate-limited, or the agent decided more clarification was needed.
- Codex's PR fails CI — push back in the chat thread with the failure. The agent reopens its session and updates the same PR.
Billing
- Out of credits — top up from organization billing, or wait for the next refill if you're on a recurring plan.
- Charge looks wrong — open the LLM usage breakdown under organization settings; every chargeable run is itemised.