Skip to content
ttorta docs

Troubleshooting

Agents and sessions

A pane that disconnects, an agent that stops, a budget that runs out, and a second engine.


The pane says it is reconnecting

The transport dropped. The page pings every 15 seconds, treats 40 seconds of silence as dead, and re-attaches to the same terminal, backing off through 400ms, 900ms, 2s, 4s, 8s and then 15s.

The pane closed and will not come back

Three close codes mean the session is over and are never retried: 1000 when the board closed the pane, 4404 when there is no session for that agent, and 4500 when a pane could not be opened.

Click the agent to open a new pane.

no session

The close reason behind code 4404.

no agent named ‘x’ in this workspace

The named agent is not in this workspace’s roster.

x has no home at

The agent is in the roster but its home folder is missing. Run torta sync, or check the workspace was copied whole.

no pane is open for this agent

Status 409 from the pane routes that write into a session. Open the pane.

the pane is open but would not take the prompt

Status 409 from a delivery. If the session has exited, close the pane and let the engine open a fresh one.

the board is shutting down

No new pane opens once shutdown has begun, and every pane closes with the board.

An agent stopped and is asking me something

Answer it in the needs-you lane, or with torta approve: the two are the same call. The five questions torta can ask are listed in approvals and the needs-you lane.

A ticket went to BLOCKED

Two things put a ticket there:

  • a hard constraint, meaning impossible as specified, not merely slow or awkward
  • a budget breach, in which case the ticket carries the limit that tripped and the cost so far

The session stops with the limit named, the tool call that would cross it is denied, and a budget_breach event is written to .torta/events.jsonl. From BLOCKED you can send it to NOT_FEASIBLE or back to APPROVED.

Raise the limits in torta.json under workflow.sessionBudgets. The defaults are 30 minutes of wall clock, 200000 tokens, 200 tool calls and 8 continuations.

A ticket delivered into a board pane carries no token or tool-call budget, and the delivery is logged as a pane_deliver event.

Nothing is being started

The dispatcher records its reason, in the order it checks them:

What it says What to do
kill switch the engine is paused, press resume
at cap (3) three sessions are already running
cooling down that agent finished a session under 60 seconds ago
already running it has a session now
waiting on a decision from you answer it in the needs-you lane
wip/ holds <file> — one ticket at a time let that ticket move on

Also check that an engine is running: torta board runs none, torta start --no-engine turns it off, and the header says which.

An engine is already running for this workspace

The refusal names the command that holds it, its pid and its start time. Stop it, or run torta start --no-engine for a board beside it.

A ticket is stuck in wip after a crash

The engine reclaims it. A lock whose heartbeat is older than 120 seconds belongs to a session that is gone, so the next tick takes the ticket back and writes a lease_reclaim event.

A reclaimed wip ticket outranks everything queued on the next pass.

If you are working the ticket by hand, say so, and nothing starts in that home:

torta watch --busy frontend

unknown runner ‘x’

The four are stub, sdk, pty and auto.

–cap takes a whole number of concurrent sessions

At least 1.

–busy names an agent that is not in the roster

The refusal prints the roster.