Skip to content

Releases: danshapiro/freshell

v0.5.0

17 Feb 20:45

Choose a tag to compare

New things you can do

  • Manage tabs across devices in one workspace — The new Tabs view shows local and remote tabs together, lets you label devices, and reopen remote tabs as local copies when you want to keep working on another machine.
  • Set up remote access with guided flow — A built-in setup wizard plus network settings now walk you through LAN/VPN access, firewall checks, and shareable links/QR so phone and tablet access is faster to get working.
  • Use touch-first mobile navigation — On mobile, you can swipe between tabs, open/close the sidebar with edge gestures, use a tab-switcher overlay, and long-press to open context menus.
  • Search terminal output in-pane — You can open terminal search with keyboard shortcuts, jump through matches, and keep command output exploration inside the active pane.
  • Control clipboard behavior from terminal apps — OSC52 clipboard handling now supports Ask/Always/Never policy so you decide how remote terminal copy requests are handled.

Things that got better

  • Mobile terminal controls are much easier to use — Touch targets were increased, headers and tab bars were tuned for small screens, and mobile key rows now support press-and-hold repeat for arrow navigation.
  • Session and resume behavior is more reliable — Provider/session ownership and restore flows were hardened to prevent duplicate or misassigned sessions during reconnects and cross-device handoff.
  • Session updates are faster and lighter — Session sync now supports incremental patches so large histories refresh with less churn.
  • Security defaults and validation are stronger — Auth checks were tightened (including timing-safe comparisons), settings/file APIs were validated more strictly, and path sandboxing was hardened.
  • Freshclaude chat interaction is more polished — New context-aware copy actions, cleaner message presentation, and better status/streaming behavior make transcript reading and extraction smoother.

v0.4.5

14 Feb 05:29

Choose a tag to compare

What's New

New things you can do

  • See your active directory, repo, and context left (roughly...) in the title — Every pane header now shows your working directory, git branch with dirty indicator, and how much context your coding CLI has left. Updates live as you work.
  • Split panes freely — Right-click any pane to split right or down. Closing a pane promotes its sibling — your layout is preserved, not rebuilt.
  • Zoom any pane — Maximize a pane to fill the tab, then restore your layout with Escape or the header button.
  • Replace a pane — Right-click "Replace pane" to swap content without changing layout. The replaced terminal keeps running in background.
  • Snap dividers — Pane dividers snap to their original position and to aligned dividers. Drag intersections to resize in both directions. Hold Shift to bypass.
  • Turn-completion attention indicators — Tabs and pane headers glow when a coding CLI finishes its turn in the background. Choose style and dismiss mode in Settings.
  • Sidebar opens panes, not tabs — Clicking a session in the sidebar splits a pane in the current tab.

Things that got better

  • Sessions survive server restarts — Session repair properly awaits file scanning, and graceful shutdown gives CLIs time to flush.
  • Claude and Codex terminals reattach on refresh — Both Claude and Codex terminals now reconnect to their running process on page refresh instead of spawning duplicates.
  • Large scrollback no longer crashes WebSocket — Terminals with big buffers send snapshots in chunks.
  • Worktree sessions show correct labels — Each git worktree gets its own project group in the sidebar.
  • Token usage is more accurate — Codex and Claude percentages now track closer to what the CLIs report.
  • Better pane dividers — Wider hit area, visible grab indicator on hover, cursor lock during drag.
  • Session indexer is faster — Debounced and throttled refresh cycles reduce latency under load.

v0.4.1

10 Feb 01:21

Choose a tag to compare

What's New

New things you can do

  • See what's running at a glance — Tabs now show a row of icons for each pane type (Claude, Codex, Terminal, Browser, Editor) with color-coded status: green for running, red for error, gray for exited, pulsing while creating. A new "Icons on tabs" setting lets you switch back to the classic dot.
  • Rename pane titles inline — Double-click a pane title to rename it in place. No more popup dialog — works just like tab renaming, with Escape to cancel and Enter to confirm.

Things that got better

  • Tab and pane titles are independent — Renaming a tab no longer prevents the pane title from updating when the terminal sets its own title via escape sequences.
  • Session restore is dramatically more reliable — Deep overhaul of persistence and cross-tab sync: terminal assignments survive cross-tab sync, session IDs are preserved during reconnection, rate-limit bypass works correctly for all reconnecting terminals, and orphaned pane data is cleaned up automatically.

v0.4.0

08 Feb 22:42

Choose a tag to compare

What's New

New things you can do

  • Know when an agent is done — Turn-complete bell and tab attention indicator notify you when a coding CLI finishes its turn in a background tab. No more polling.
  • Pick a directory when launching a CLI — Directory picker with fuzzy search when creating a Claude Code or Codex terminal. Includes recently-used directories.
  • Copy a resume command — Right-click any session (sidebar, pane header, or tab) and copy the CLI command to resume it (e.g., claude --resume <id>).
  • Filter out noise in the sidebar — New toggles to hide subagent and non-interactive sessions. On by default — flip them in Settings to see everything.
  • State syncs across browser tabs — Open Freshell in multiple browser tabs and tab/pane state stays synchronized. Create a tab in one, see it appear in the other.
  • Browser panes work over the network — When accessing Freshell remotely, browser panes that point at localhost dev servers now work via authenticated TCP port forwarding with per-IP isolation.

Things that got better

  • Better session titles — Title extractor skips system context and IDE boilerplate to show what you actually asked.
  • Codex sessions survive server restarts — Codex terminals re-associate with sessions after restart.
  • Faster sidebar updates — Session changes arrive as incremental WebSocket patches instead of full re-sends.
  • Auth persists across tabs — Opening a new browser tab no longer requires re-authenticating.
  • Paste works correctly — All paste paths (keyboard shortcuts, context menu, terminal action) flow through a single pipeline. No more double-pastes.
  • Tab close cleans up split panes — Closing a tab with splits now kills all terminal processes, not just one.
  • Terminal resize on reattach — Refreshing no longer causes terminals to render at 80x24 before fitting to the viewport.
  • Mobile keyboard handling — Terminal correctly resizes when the soft keyboard appears.
  • Recency-pinned is the default sort — Sidebar pins sessions with open panes to the top by default.

v0.3.2

06 Feb 17:33

Choose a tag to compare

What's New

Features

  • Coding CLI options in pane picker with per-provider settings (cwd, icons, scoped shortcuts)
  • Inline tab rename via context menu
  • Deterministic Claude session restore
  • Idle terminal warnings before auto-kill
  • Comprehensive accessibility (a11y) refactor
  • Responsive pane picker with CSS container queries
  • Web Audio synthesizer demo
  • Browser-use LLM-driven smoke testing

Fixes

  • WebSocket correctness (backpressure handling, reconnect on hello timeout, snapshot race prevention)
  • Terminal respawn loop prevention with rate limiting
  • Session repair normalization and legacy migration
  • Server startup issues (duplicate logs, wrong port, proxy errors)
  • node-pty Node.js 25 compatibility
  • Mobile sidebar and browser refresh fixes

v0.3.1

03 Feb 18:45

Choose a tag to compare

What's New

WSL2 LAN Access

  • Automatic port forwarding setup for accessing Freshell from other devices on your LAN when running in WSL2
  • Smart detection of WSL2 environment and Windows host IP
  • Integrated into bootstrap with UAC elevation when needed

UI Improvements

  • Recency (pinned) is now the default sidebar sort mode
  • Added Ctrl+V paste support in terminal panes
  • Increased inactive pane opacity from 70% to 85%
  • Fixed pane focus behavior with xterm.js

Bug Fixes

  • Fixed default working directory handling for Windows shells in WSL
  • Fixed runaway terminal creation loop on exit
  • Improved session handling and project path detection
  • Fixed fs/promises import for Claude provider
  • Made terminal font local-only and bulletproof

Developer Experience

  • Better WSL shell spawning with full paths for cmd/powershell
  • Performance logging now gated on runtime switch
  • Added npm run serve command documentation

v0.3.0

01 Feb 06:45

Choose a tag to compare

A major feature release focused on session discovery and terminal UX.

Features

  • Full-text session search — Search across all your Claude sessions from the sidebar. Search operates in tiers: first matches titles, then recent session content, then full history. Toggle between tiers for speed vs. thoroughness.
  • Terminal activity indicators — Each terminal tab now shows its state: ready (idle), working (output streaming), or finished (work complete). Great for monitoring background tasks.
  • Audio notifications — Get a sound alert when a terminal finishes work and the browser tab isn't focused—never miss when Claude finishes a task.
  • Right-click context menus — Tabs and sidebar items now have context menus for quick actions like close, rename, and duplicate.
  • Restyled tabs — Tabs now have a traditional tab appearance with better visual hierarchy and improved light/dark mode contrast.
  • Terminal visibility optimization — Inactive terminals now use CSS visibility instead of display:none, improving performance when switching tabs.

Fixed bugs with tab renaming keyboard handling, settings merging for new properties, duplicate panes in edge cases, and streaming detection for activity indicators.

v0.2.5

31 Jan 21:01

Choose a tag to compare

Fixed: The Freshell emoji is now correctly displayed as 🐚🔥 everywhere.

v0.2.4 - Friendly Startup Message

31 Jan 20:58

Choose a tag to compare

Startup now displays a friendly message with the full URL you can use to access Freshell, including your machine's hostname for LAN access.

v0.2.3 - Fix Serve Precheck

31 Jan 20:53

Choose a tag to compare

Fixed: Port availability check now only runs in dev mode, not when running npm run serve in production.