Skip to content
Sessions & Workflows Intermediate

Deterministic Session IDs

Use a custom UUID for mapping sessions to database records or ticket IDs

Command

$ "color:#7C5CFC">claude -p "Say exactly: DETERMINISTIC_TEST" \
    "color:#d97757">--session-id "aaaa1111-bbbb-cccc-dddd-eeee2222ffff" \
    "color:#d97757">--output-format json

Response

{
  "session_id": "aaaa1111-bbbb-cccc-dddd-eeee2222ffff",
  "result": "DETERMINISTIC_TEST",
  "total_cost_usd": 0.016
}

Parsing Code

059669">">const ticketId = 059669059669">">'PROJ-1234';
059669">">const sessionId = crypto.randomUUID(); 059669">">// or use ticket ID as UUID
059669">">const data = JSON.parse(execFileSync(059669059669">">'claude', [
  059669059669">">'-p', prompt, 059669059669">">'--session-id', sessionId, 059669059669">">'--output-format', 059669059669">">'json'
], opts));
await db.storeSession(ticketId, data.session_id);

Gotchas

! Must be a valid UUID format
! Useful for mapping Claude sessions to external systems (tickets, user accounts)

Related Recipes