Sending messages
Sending messages
Section titled “Sending messages”The composer at the bottom of the chat is a multi-line input with support for Markdown, fenced code blocks, and @ mentions. Ptah streams the response token-by-token as soon as the provider starts producing output.
Composing a prompt
Section titled “Composing a prompt”- Enter sends the message.
- Shift + Enter inserts a newline.
- Ctrl/Cmd + Enter also sends — useful when you want to use Enter for newlines exclusively.
- Paste images, files, or folders directly into the composer. Files are attached as context; images are sent inline to providers that support vision.
Streaming responses
Section titled “Streaming responses”Responses stream in real time. You will see:
- Thinking blocks (for reasoning-capable models like Claude Sonnet/Opus and GPT-5 family) render as collapsed cards at the top of the response.
- Tool calls render as inline cards with the tool name, arguments, and result.
- Assistant text streams below, with Markdown rendered progressively.
Sub-agents spawned during the turn appear in the Execution Tree on the right.
Stopping a response
Section titled “Stopping a response”Click Stop (or press Esc) to abort the current turn. Ptah:
- Cancels the in-flight provider request.
- Cleans up any pending tool calls so you don’t end up with orphaned
tool_useblocks on the next turn. - Preserves partial output — you keep whatever the model produced before you stopped.
Resuming a conversation
Section titled “Resuming a conversation”Every message you send is checkpointed. Closing and reopening Ptah restores the full transcript, including the Execution Tree. Use New chat to start a fresh session, or Fork on any assistant message to branch the conversation from that point.