Koo Docs
View as Markdown

Open a shell in a service

The Console tab opens an interactive shell inside a running replica of a service, straight from your browser. Use it to inspect a live container, run one-off commands, or debug in place.

Connect

  1. On the environment canvas, click the service to open its drawer, then go to the Console tab.
  2. Pick the replica when more than one is running, and the container when the replica runs more than one. You can also pick the shell to start.
  3. Click Connect.

The shell runs inside the live container, with the same filesystem, variables, and network access as your app. When the session ends, the transcript stays on screen and a Reconnect action starts a fresh session.

Anything you run takes effect in the live replica immediately. Changes to the container's filesystem are temporary — replicas are recreated from the image on every restart and deploy; only files under an attached volume's mount path persist.

Databases

Databases have a Console tab too — a database is never internet-reachable, so this is how you reach one interactively. Connect opens a shell inside the database container; at the prompt, run psql on Postgres or redis-cli on Redis for an interactive database session.

Detach into its own window

During a live session, the Detach button opens the terminal in its own window with your current replica, container, and shell selection. It is a new, independent session — the drawer's shell keeps running, and you can detach as many windows as you like.

The window's URL carries only the route and your selection, never a credential. Reloading the window reconnects automatically.

Access and auditing

Opening a shell requires the editor role or higher — see teams and roles. Every console session is recorded in the audit log.

The connection goes directly from your browser to the running replica over an encrypted channel. It authenticates with a connect-only credential scoped to the environment, minted on first use and rotated whenever a member loses access.