Starting a session from a Help Desk ticket
Two ways a Help Desk ticket becomes a Claude Code session: you start one from the open ticket, and a newly arrived ticket starts a read-only investigation by itself. Neither one writes to the ticket or reaches the customer.
What it is
A support ticket is read and answered by a person, and some tickets describe a real defect — something you want an agent on, in the repo, with a worktree and the app's own rules. Retyping a customer's report into a blank session is the slow, lossy way to do that. These are the two doors that skip the retyping.
- The one you press. A Start session control sits on the open ticket, beside Mark resolved.
- The one that starts itself. A ticket that newly arrives in the waiting queue gets ONE read-only investigation of its own.
They share one prompt builder and one dialog, so a session started by either door opens on the same picture of the ticket.
Where to find it
- In the developer console — the full-screen Help Desk console draws the control in its top strip, on the row with the ticket's identity and Mark resolved.
- In the small widget and on a phone — the same control sits in the ticket's Back row, so it is reachable without expanding to full screen.
- The automatic half has no surface. It starts on arrival, puts a normal session on your board, and appears under Fix sessions with the other intake work. It is switched in Settings → Features as
helpdeskTicketInvestigationEnabled, and it ships on.
How it behaves
You press Start session
- The shared start-session dialog opens already filled in: the ticket's subject, who opened it, how it arrived, and the conversation so far, oldest first. You can edit any of it before you start.
- A long ticket is capped and says so — you get the newest messages and an
(earlier messages omitted)marker, never a wall of text and never an empty prompt. - Confirming starts a real Claude Code session and does nothing else to the customer: no reply, no note, no notice. The control is inert until you confirm. It DOES record the session on the ticket, so you can get back to it.
- The way back is on the ticket. Once a ticket has a session working it — the one you started, or the one the app started by itself — the ticket shows Open session, which jumps straight to it. The Help Desk board shows the same link, because both read the same card.
A ticket arrives by itself
- The investigation reads the ticket and reports what it found and what it recommends, then waits for you. It is told it is read-only; that is its brief, exactly as the email-ticket lane's investigations are.
- One per ticket, ever. The claim is written before the session is created, so a redelivery, a restart replaying the queue, or a follow-up on the same ticket can never buy a second one.
- A daily ceiling bounds how many start, and a ticket that is skipped for any reason is named in the log — the ceiling, an already-claimed ticket, no claimable card, or no target project. A ticket that hits the ceiling is still startable by hand.
- A ticket whose investigation could not start is not lost. The claim is handed back when the start fails, and a start that was interrupted is released the next time the app starts, so the ticket stays startable.
- One switch turns it off without touching the button you press by hand.
What neither door does
- It never writes a reply, a draft, a private note, or a status change to the ticket.
- It never notifies, messages or answers the customer. An investigation's findings go to you; nothing reaches the person who wrote in.
- The control is never drawn on the customer's side of a conversation — it is gated on the console's own open-ticket state.
For agents
Both doors answer to one prompt builder and one contract, and the paths below are where the behaviour above is implemented.
The key files
- The prompt — helpdesk-ticket-session-prompt.ts
- The button and its dialog wiring — HelpdeskStartSessionControl.tsx
- The automatic door — helpdesk-ticket-investigation.ts, its ceiling in helpdesk-ticket-investigation-budget.ts, and its wiring in helpdesk-boot.ts
- The card it claims on the Tracker — queries-intake-rows.ts
- The rules both doors answer to — helpdesk-ticket-session-contract.md
Related
The wider Help Desk story — the queue, its status tabs, drafts and routing rules — is on Get Help (Helpdesk) part 2. How a ticket arrives by email in the first place is on Help Desk email tickets, and the console the Start session control is drawn on is on Help Desk.
Last verified 2026-10-01