* agent slack
* add to settings
* select workspace
* skill changes
* chain commands
* fix: Use Git Bash on Windows instead of hardcoded /bin/sh for command execution
* Refactor command execution shell handling
Replace the getShell() function with EXECUTION_SHELL for consistency in command execution. This change simplifies the code and aligns with the recent updates from the dev branch.
---------
Co-authored-by: Tushar Magar <tushmag@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Detect the runtime platform and default shell at startup, inject
platform context into assistant instructions, and replace hardcoded
/bin/sh with the detected shell in command executors (cli + electron).
Made-with: Cursor
Session-scoped permissions are stored in the run log and rebuilt by
the state-builder, scoping them to a single run. Always-scoped
permissions persist to security.json. The backend derives command
names from the run log instead of receiving them from the frontend.
Uses regex-based command parsing with subshell/parenthesis support.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Cmd+K / Ctrl+K opens a spotlight-style search dialog that searches
knowledge files (by content and filename) and chat history (by title
and message content). Results are grouped by type with filter toggles
preselected based on the active sidebar tab.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Changed userId from connectedAccountId to a static value 'rowboat-user'.
- Enhanced error logging to include detailed error information in JSON format.
connected-accounts UI
This refactor simplifies OAuth storage/IPC and updates the Electron UI
to use the new client-facing contract. OAuth state is now persisted per
provider with tokens, optional clientId, and an error string. A new oauth:getState
IPC returns only client-facing state (connected + error), and the UI renders
error/reconnect flow based on that.
Core changes
- Replace OAuth config with providers { tokens, clientId?, error? }
and add zod-based migration from legacy token maps.
- Persist Google clientId after successful OAuth and keep error state
in repo.
- Surface provider errors from refresh/credential failures in Google +
Fireflies.
- Add oauth:getState in IPC, returning client-facing config; remove
old status wiring in the UI.
UI changes
- Switch renderer status checks to oauth:getState and derive connected/error
from config.
- Add alert dialog for account issues and update copy to “Connected
accounts”.
- Provide “View connected accounts” CTA that opens the Connectors popover.
- Add shadcn alert-dialog component and Radix dependency.
Notes
- Adds @radix-ui/react-alert-dialog and shadcn wrapper.
- pnpm-lock updated accordingly.
Add a stream error event type to the shared schema and wire runtime handling to
convert provider payloads into a concise string format. When a stream error is
seen, emit a Run error event, preserve partial output, and stop the turn to
avoid additional tool execution.
In the renderer, display errors inline as assistant messages with destructive
styling and trigger a toast for immediate visibility. Include error events when
loading run history so prior failures are visible.
- Resolve workspace-relative and /tmp paths in shell:openPath and shell:readFileBase64 IPC handlers
- Update assistant instructions to only use filepath blocks for files that already exist
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Render filepath code blocks as rich, clickable cards with three variants:
knowledge files (navigate to editor), audio files (inline play/pause),
and system files (open externally). Adds shell:openPath and
shell:readFileBase64 IPC channels, FileCardProvider context, and
Streamdown pre override.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>