Product / Developer toolkit / SSH Debugging

SSH debugging for CI/CD jobs

Updated November 2026 ยท Jobs and debugging docs โ†’

SSH into a running job, or restart a failed job in debug mode with the same environment, to see exactly what the pipeline sees.

TL;DR

  • Attach to a running job with sem attach.
  • Start a debug session for a finished job with sem debug.
  • Forward ports to reach services in the job.
  • Stop the session when you are done.

Watch: SSH Debugging

What it does

  • Inspect a running job live. See jobs.
  • Debug mode for failed jobs with the same image and environment.
  • Port forwarding to open a web app or database running in the job.
  • Stop debugging at any time. Commands are in the CLI reference.

How it works

terminal

sem attach <job-id>            # SSH into a running job
sem debug job <job-id>         # restart a job in debug mode
sem port-forward <job-id> 3000 3000

Docs for this feature

FAQ

Can I SSH into a job that already failed?

Yes. sem debug job starts a new job with the same environment and opens an SSH session.

Can I reach a service inside the job?

Yes. sem port-forward forwards a local port to a port in the job.

Does it cost extra?

A debug session is a job, so it uses machine time like any other job.

Next steps

Read the debugging docs โ†’ ยท All Developer toolkit features โ†’ ยท Plans and pricing โ†’

Star us on GitHub