Logs and agent status
Inspect your services and understand agent activity across terminals.
Adria separates VM lifecycle from agent activity. A ready VM can contain a working agent, a waiting agent, or no agent at all.
Check activity
cube sessions
cube sessions --jsonThe listing shows VM and AGENT columns. Several agents in different terminals can appear on one Session. JSON includes individual terminal observations and timestamps.
| Agent state | Meaning |
|---|---|
working | Recent native agent activity or recognized terminal activity |
waiting | An approval or confirmation prompt was observed |
idle | A turn completed, was interrupted, or returned to an input prompt |
pausing | An interrupt was sent |
exited | The recorded terminal process exited |
unknown | There is no usable evidence of the agent's state |
disabled | Terminal capture is off |
States are observations, not a guarantee that a task succeeded. A quiet terminal alone does not prove that an agent is idle. When the VM is not ready, the listing marks the agent state as last observed.
Control terminal capture
On supported images, terminal capture is enabled by default. It records terminal input and output, including input entered at prompts. Avoid entering secrets into a captured terminal.
cube sessions capture feature/payments off
cube sessions capture feature/payments onThe setting applies to all terminals in the Session. Turning capture off stops further collection; it does not delete previously captured data. Turning it on mid-conversation can leave status unknown until fresh agent activity identifies it.
Older images may not have capture support. Native status is supported for Codex and Claude Code on updated images, with terminal inference as a fallback.
Read application logs
Use your application's normal logs inside the sandbox:
tail -f ./logs/app.log
docker compose logs -fA file log is not automatically a captured terminal stream. Adria does not
provide a cube logs command; use remote execution, SSH, or
your application's tools to inspect it.