Releases: DIodide/Harness
Release list
v1.0.0 — Live Sessions, Sharing & Skill Packs
Added
-
Live session following: in-flight agent output now fans out to every viewer of a conversation — open the same chat in another tab, in
/workspaces, or on a shared read-only page and watch the turn stream down token-by-token. Owners see a sharee's run live and sharees see the owner's; following is authorized like a shared read (owner login, an editor/viewer grant, or a share token for anonymous viewers). -
Persistent streaming liveness: the streaming bubble shows a continuous "Working…" heartbeat between steps (e.g. during long tool calls) so a quiet turn never reads as a frozen app, and surfaces elapsed time once a turn passes ~5s. Respects reduced-motion preferences.
-
Live workflow & subagent observability: Claude's Workflow orchestration and Task subagents now stream what each agent is doing — type/description, running→done status, and an activity log — into both the timeline and the Agents panel instead of being invisible.
-
Rewind under any user message: a Rewind action on every user message truncates the thread back to that point (keeping the message, deleting everything after) with an inline confirm, plus Rewind & fork to branch a new conversation at that point with the original left intact. Works for both standard chat and Claude Code agents, where rewind also resets the live agent session so its context matches what you see.
-
Mid-message rewind at "seams": hover an assistant message to reveal cut points between its steps (text, reasoning, tool calls); hovering a seam dims everything below as a preview, and clicking lets you Rewind or Rewind & fork partway through a turn. Seams appear only on the last message so a cut never silently drops later turns. A "Mid-message rewind" setting under Settings → Display (default on) shows or hides them; whole-message Rewind and Fork are unaffected.
-
Compaction summaries + clone-from-summary: when a Claude Code conversation compacts its context, each summary is captured and shown inline (collapsible summary, trigger, and tokens reclaimed). On a compacted conversation you can continue the full chat or start a New session from summary — a fresh clone seeded with just the summary instead of the bloated transcript, carrying the harness/workspace forward.
-
Shareable chat links: share any chat via a copyable public link from the chat or workspaces header. Anyone with the link gets a live, read-only view of the full transcript — text, reasoning, tool calls, and attachments — with a neutral "not available" page on revoked or invalid links.
-
Fork a shared chat into your account: viewers can clone a shared conversation into their own account (sign-in gated, returns to the share after auth) to continue it independently; the copy drops the original's cost data.
-
Owner link controls: manage a share from a Share dialog — create, copy, reset (rotate the link), set the role, and stop sharing at any time. Shared views show "Shared by …" with the owner's name and avatar (email is never exposed on public links).
-
Editor collaboration on shared chats: holders of an editor link can send messages into the owner's conversation in real time. The assistant turn runs server-side on the owner's harness — default loop or the owner's coding agent, credentials, and sandbox — and is billed to the owner; collaborators get a composer, per-message author attribution, regenerate, and fork-at-message, while the owner's secrets never leave the server.
-
Viewer/editor role control in the share dialog: creating a link gives a safe view-only link by default; an "Editing" toggle (behind a consequences confirmation that collaboration runs on your harness and is billed to you) upgrades the same link to editor, with an amber warning treatment. Switching roles keeps the URL while Reset rotates the token.
-
Side panel on shared chats for editors: a right-hand panel with a background-agents tab and a view-only sandbox to browse, read, and search files and view git status/diff/log, plus a per-turn reasoning-effort override that applies only to the collaborator's turn and is restored afterward.
-
Share whole harnesses: share a harness via public link or email invite from a Share card action, with a chromeless public viewer (redacted config) and Clone to make a private copy on your own account and credentials. Email invites surface under "Shared with you" once the recipient signs in with that verified email.
-
Manage Sharing page: a new page (reached from the sidebar rail) lists everything you've shared — chats and harnesses — with revoke, change-role, and stop-sharing controls in one place.
-
Skill Packs: bundle a set of skills together with optional AGENTS.md and CLAUDE.md context files into a reusable pack, managed from a new
/skill-packsscreen (create/edit/delete). Attach one or more packs to a harness from the create and edit flows — loose skills still work too. -
Skills reach agentic harnesses: a pack's skills are materialized into the sandbox for Claude Code / Codex / Cursor agents, and its AGENTS.md/CLAUDE.md are written to the sandbox root (with an optional
@AGENTS.mdlead-in for CLAUDE.md), the first time attached skills load for ACP agents. -
One-click GitHub repo import: enter an
owner/repo(e.g.greensock/gsap-skills) to pull every skill plus the repo's top-level AGENTS.md/CLAUDE.md into a pack at once. Pre-built templates — GSAP, Anthropic Skills, Superpowers, and Vercel — run the same import and pre-fill the pack. -
Unified workspace agent sandbox: a harness running an ACP agent (Claude Code / Codex / Cursor) now runs inside the workspace's own sandbox — named
{Agent} · {Harness}, reused across the workspace's chats and shared with code execution — instead of a separate throwaway box, so there are no more orphan agent sandboxes; the per-user sandbox cap was raised 5 → 20. -
Default workspace for every account: an undeletable "Default" workspace is guaranteed for each user; legacy workspace-less conversations are adopted into it (and their messages re-stamped so workspace-scoped search finds them).
-
Drag-and-drop workspace reordering: manually order the
/workspacessidebar by dragging a row's grip or with ↑/↓ keyboard moves; new workspaces appear at the top, the order persists once on drop, and a reorder from another tab/device is picked up automatically. -
Workspace credentials: create a named secret once (e.g.
GITHUB_TOKEN,LINEAR_API_KEY) and assign it to any workspace from the Edit Workspace dialog; assigned credentials are injected as environment variables into whichever sandbox runs that workspace's code — both the agent sandbox and standalone code-exec (chat sandbox tools and/sandboxroutes). Values are write-only, AES-256-GCM encrypted, and never shown again after saving. -
Manage Credentials entry: a Credentials view at
/credentialsto create, rotate, and delete secrets, reachable from a KeyRound button in the sidebar footer (next to Manage Harnesses) on both/workspacesand/chat, plus the command palette. -
Claude Code pre-session controls: Mode, Model, and Effort now render and are editable before the first message (previously they required a live session), backed by static defaults plus a per-agent cache of the real options from prior sessions.
-
Harness-level agent defaults: agent Mode, Model, and reasoning Effort are now saved on the harness and applied to new sessions, configurable from both the onboarding (create) and manage (edit) forms. Adds the opus[1m] model and cleaner model labels (Sonnet, Opus, Opus (1M), Fable, Haiku).
-
Bypass Permissions mode for Claude Code: a "Bypass Permissions" mode is now selectable and actually applies in the sandbox, instead of erroring on switch or silently reverting to Default.
-
Effort slider in the agent composer: reasoning effort is now a boxed full-width slider with stops for the agent's live effort levels (low → max) and a distinct rightmost Ultracode stop. The active stop derives from the draft, snaps back after a send, and the config mutation fires once on release rather than per drag step.
-
Background agents panel: every background task for the current turn — subagents, workflows, and long-running commands — is shown with a live status chip (running / done / failed), a steps count, and expandable detail, under a
N running · M done · K failedsummary header. -
Per-credential agent usage: the usage dialog now has an Agent usage section that breaks down cost, tokens, and turns per agent credential (Claude Agent, Codex) over a weekly window, so you can see what each linked account spent.
-
Claude account rate limits surfaced: when running on your own Claude subscription, the usage dialog shows your real session (5-hour) and weekly limit consumption with live reset countdowns — the same numbers as Claude Code's
/usage— plus a Sonnet weekly window, each as its own progress bar. -
Per-chat context menu: hovering a conversation row in the
/chatand/workspacessidebars reveals a ⋮ menu with Pin/Unpin, Fork, Copy link, Share (View only / Can edit), Move to workspace, and Delete (two-click confirm). -
Pin conversations: pinned chats render in a dedicated Pinned section above the date groups, sort newest-pin-first, and are fetched independently of the recency window so they're never truncated out of the list.
-
Fork naming: forking a chat yields "X (fork)", then "X (fork 2)", "X (fork 3)"… — gap-filling and case-insensitive, and a fork-of-a-fork continues the sequence instead of stacking suffixes. A sidebar Fork copies the whole conversation.
-
Workspace tint in /chat: chat rows belonging to a non-Default, colored workspace get a subtle color wash and an inset left accent bar, so you can tell at a glance which workspace a chat lives in. The chat list now shows all of your chats, including workspace-assigned ones.
Changed
- **F...