ADocumentation Index
Fetch the complete documentation index at: https://docs.karta.sh/llms.txt
Use this file to discover all available pages before exploring further.
Session is a lightweight handle for a multi-turn conversation. You don’t
construct it directly — app.session(...) returns one. It carries metadata,
participants, and the current agent, but holds no messages (the harness does).
See the concept page for the model.
Create
Fields
| Field | Type | Meaning |
|---|---|---|
id | str | Session identifier (maps to a harness thread). |
metadata | dict | Arbitrary key/values; route and look up by these. |
status | str | active, etc. |
participants | list[Participant] | Humans and AIs in the session. |
current_agent | Agent | None | The agent handling turns now. |
pending_input | dict | None | A request_id awaiting an approval decision. |
permission_mode | str | None | How approval prompts are handled. |
parent_id | str | None | Parent session, for sub-sessions. |
Send and stream
Participants
Agent handoff
Assigningcurrent_agent fires the agent.handoff
hook:
Resolving approvals
When a turn pauses with aninput_required event, resolve it
and continue streaming:
approve_once, approve_session, or deny.