- Add shell-block class with white bg, border, proper border-radius
- Fix info message bubble width and margin for acme theme
- Parse shell output correctly: first $ line is command, rest is output
- Style shell output with proper padding and text color
- Replace card layout with compact tree nodes
- Nest sub-agents by __ separator with collapsible chevrons
- Display cwd as dim badge in chat header
- Remove PromptBar auto-focus that interfered with rename
The greedy regex matched from the first { to the last } in the
entire message, swallowing output (especially diffs containing
braces) into the collapsed args section.
Split on first newline instead—the call is always a single line
(squashWhitespace in the backend ensures this). Also use trimEnd
instead of trim to preserve leading whitespace in output.
- Show full session IDs everywhere
- Double-click to rename sessions (sidebar + chat header)
- Parse :: info messages, render italic/faint
- Collapsible tool calls with disclosure triangle
- Pretty-print all tool JSON, show tool name/language detail
- Separate tool output from args
- Fix tool parsing for multi-line content with trailing output
- Fix vite proxy: /s -> /s/ to avoid intercepting /src/ requests
- Fix state detection: match 'thinking'/'calling' instead of 'running'
- Fetch chat as plain text instead of JSON
- Add kill button on session cards
- Make stop button more visible
- Parse and pretty-print tool call (-> ) lines
- Style tool calls with arrow, function name, and formatted JSON body
Dark teal theme, polling-based session management, markdown
rendering for assistant messages. Sidebar shows /s/ tree;
chat header shows /s/{id}/chat path. New session modal fetches
available backends from the httpgw.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>