You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Activity monitor
Activity chip in the window's title-bar area shows total RAM and CPU% at a glance. Click it to open a per-task breakdown listing each running task's RAM, CPU, and branch. Verun walks its own process tree and attributes the session agent, LSP, and terminals back to each task, so you can see which task is hot rather than just "Verun is using X memory"
Claude Code: UI ↔ Terminal toggle
Each Claude session now has a UI / Terminal toggle in the session tab. UI mode is the familiar chat view; Terminal mode runs claude --resume <id> in a real PTY so you get the unmodified TUI. Verun keeps tailing the session's history file in both modes, so fork, branch, and search keep working with no data gap. Mode is sticky per session, survives restarts, and has a global default under Settings → General → Claude Code. Ctrl+D / /exit / crash exposes a one-click Reconnect
Fresh Claude sessions can opt into Terminal mode before sending the first message - Verun watches for the new session file Claude writes on first turn and routes subsequent reopens through --resume
Drag-and-drop in the Terminal view: drop one or more files anywhere over the terminal and their absolute paths are typed into the PTY (POSIX-quoted), so Claude's TUI picks them up the same as a native terminal
Cmd+V pastes images into the Terminal view through xterm.js's bracketed paste, so Claude's TUI reads them from the OS clipboard and renders [Image #1] - same behavior as Apple Terminal
Pasted images in the Claude terminal also show up in the UI chat: the transcript tail decodes image blocks and persists them as user-message attachments, so toggling back to UI mode shows the same image bubble
Slash commands run in the Terminal (/model, /clear, /exit, ...) now show in the UI chat as a clean /<name> <args> line instead of leaking through as raw XML + ANSI escapes when you toggle back to UI mode
Switching between two Terminal-mode Claude sessions in the same task now shows each session's own PTY (previously the visible terminal stayed on whichever mounted first). PTYs stay alive across switches and UI ↔ Terminal toggles, with real cleanup at session close
Skip the "Do you trust this folder?" prompt that Claude's TUI shows on first launch in a new worktree - Verun created the worktree and is the one running claude, so the prompt is pure friction
Terminal-mode sessions honor the per-session model pick
A centered "Starting Claude Code…" spinner overlays the terminal during the boot gap so you see feedback instead of an empty xterm
Fix: the Terminal toggle no longer stays disabled after a fresh session's first message - the new resume id is now broadcast to the UI as soon as Claude writes it
Side questions for Claude
Ask an ephemeral question without polluting the transcript: type /btw <question> in the composer (auto-completes from the slash-command palette), or - while the agent is streaming and you've scrolled to the bottom - click the "Ask sideways /btw" pill that takes the scroll-to-bottom button's place. Q/A is not persisted to history and never re-enters the conversation on resume
File tree and .gitignore
Gitignored paths now stay visible but appear dimmed, matching the usual editor convention - instead of being hidden entirely
Editing .gitignore or .git/info/exclude immediately refreshes the whole task's file-tree dimming (previously only the parent folder of the ignore file was updated)
Git status and PR refresh
Editing files in a task's worktree now triggers an automatic, debounced local git refresh, so status / commits / branch state update as you code, without hitting GitHub
Successful gh pr create/reopen/close/ready/merge commands from chat refresh the GitHub overview instantly instead of waiting for the next background poll
The selected task refreshes GitHub overview at session end when an agent likely changed remote state. Dev builds also show a live GitHub debug panel with cache/fetch activity
Local git refreshes use read-only commands that don't rewrite .git/index, so viewing status no longer self-triggers watcher loops
GitHub sidebar/PR/Actions data is now cached in Rust with scope-based invalidation, so local git changes stop fan-out refreshing remote state and Actions/PR data refresh only when it actually changed
Shortcuts
Cmd+Alt+Left/Right cycles between sessions in the current task when viewing a session (wraps at edges); still cycles editor tabs when a file is open
Reliability
Mid-loop API errors (e.g. ConnectionRefused after tools have already run) now offer a Continue button that resumes from persisted tool results instead of redoing the whole turn from the original prompt. Fresh-failure turns keep the Retry pair
Fixed garbled text in all PTY views (Claude terminal, shell terminals, bootstrap log): multi-byte glyphs (😄, —, …) that spanned a read boundary were being split into replacement characters. The reader now buffers partial UTF-8 across reads so glyphs stay intact
Running terminals now repaint correctly when you flip dark ↔ light mode (xterm's WebGL renderer was caching the original palette)
Terminal panel chrome now tracks the active theme instead of staying black in light mode
Release builds no longer fail under pnpm 11, which removed onlyBuiltDependencies and now hard-errors (ERR_PNPM_IGNORED_BUILDS) on unapproved dependency build scripts; a pnpm-workspace.yaml now allows esbuild's build script
Windows release builds no longer fail in WiX light.exe: the MSI bundle target is dropped (the release only ships the NSIS installer), so the bundled LSP node_modules tree no longer chokes the MSI packager
Polish
The Start button tooltip reads "Start project (F5)" instead of inlining the raw start command, so a long pnpm tauri dev --config ... --features ... no longer overflows the OS tooltip. The full command is still visible in project Settings